Максим Казаровец написал: На сколько будет проще, если автономные приложения тоже будут поддерживать прикладные задачи, написанные для ГИС Панорама (я не имею ввиду Ваши прикладные задачи)? Разработчик пишет свою задачу - надо функционал, он ее грузит в ГИС Панораме, надо специфический функионал он её грузит в автономном ГИС приложении для этого специально разработанном.
вот теперь я честно говоря не понял что Вы пытаетесь сотворить
KFF написал: вот теперь я честно говоря не понял что Вы пытаетесь сотворить
Это так, отсупление, я пытаюсь реализовать у себя в приложении(автономном) поддержку задач написанных для Панарамы. У заказчика есть несколько лицензий Панорамы, Оператора - они необходимы для работы более продвинутых специалистов, есть более простое приложение разработанное мною на GTK- оно для работы менее продвинутых. Заказчику требуется написание специфичиских прикладных задач, которые смогут работать и там и там(задачи нужны и тем и тем). Вот и пытаюсь понять это вообще реально?
Максим Казаровец написал: Вот и пытаюсь понять это вообще реально?
так бы сразу сказали, а то я ломаю голову и не могу понять о чём идёт речь.
Из собственного опыта Допустим, я создал какой то проект PanTask. Начинать нужно именно с этого "конца" Я его отладил и запустил в ГИС Панораме . Теперь нужно всё тоже самое реализовать в виде приложения. В задаче создаётся отдельная папка. В папке создаётся чистый проект. Из проекта поторшаться все "кишки" и в него закладывается (подключается) Вся Ваша начинка из задачи Получается: если вы запустите bpr файл из задачи - у вас будет компилится DLL под ГИС Панораму. если вы будете компилить проект из созданной папки, у вас будет компилится ЕХЕ файл. Но! есть один нюанс. ЕХЕ-шник будет работать исключительно с библиотеками ядра ГИС Панорамы, и НЕ! будет работать с GTK Посему, ЕХЕ файл нужно перекидывать в папку с ГИС ПАнорамой (Оператором) ИЛИ в папку с ЕХЕ-шником перекидывать все DLL которые тянет за собой Ваш ЕХЕ файл.
Сча сниму ролик и покажу как это выглядит наглядно
Не тот глуп кто не знает, а тот, кто не знает где искать.
Спасибо! У меня есть exe файл моей программы, он как оператор, только более простой. Тоже MDI интерфейс(отдельные окна с картами динамически создаются), панели скнопками динамически создаются через ToolBar, обрабатываются все сообщения типа: AW_CREATEPANEL, AW_MOVEPANEL и AW_INSERTBUTTON, управления окнами, панелями, картой, команды. Есть свои библиотеки из которых вызываю диалоги, реализован вызов CallMapFunction и т.д. Но в своих MDIChild окнах с картой я никуда кроме своих классов не передовал события, проект разростается, классов становиться все больше, по-этому ищу способ это все упростить, самый простой способ создать библиотеку на подобии вашей maptask.dll в которой расписал пока три класса: 1 Сообщения от окна карты, 2 Класс задачи с функциями PanApi(связан с первым), 3 (пока пишу) создание TPanAction. Вот и хотел узнать как реализованы у Вас механизмы переключения между окнами(события OnActivate и OnDeactivate дочернего окна) и связи этих окон с загружаемыми задачами, может можно где посмотреть пример, только не интерфеса PanTask, а самих классов библиотеки maptask.dll???
Максим Казаровец написал: Вот и хотел узнать как реализованы у Вас механизмы переключения между окнами(события OnActivate и OnDeactivate дочернего окна) и связи этих окон с загружаемыми задачами, может можно где посмотреть пример, только не интерфеса PanTask, а самих классов библиотеки maptask.dll???
в SDK11 есть исходный код ГИС Карты 2003 на С++
Не тот глуп кто не знает, а тот, кто не знает где искать.
Разбираться в maptask.dll будет дольше, чем реализовать свою упрощенную логику. Например, посмотрите реализацию в GTK взаимодействие компонента MapView и событий других компонентов, особенно TGtkAction. С помощью этого класса создаются и регистрируются в MapView обработчики различных событий.
Andrey Gheleznyakov написал: Например, посмотрите реализацию в GTK взаимодействие компонента MapView и событий других компонентов, особенно TGtkAction.
Спасибо, уже реализовал работу maptask.dll, как PanTask уже работает тестовый пример cmptask. Осталось неменого подпилить)) Если кому надо - пишите, сброшу реализацию maptask. Не могу понять: почему-то подгрузка из библиотеки задачи функций CreateGisTask или CreatePanTask всегда возвращает 0, если добавить свою функцию такого же типа, то все нормальлно!