Здравствуйте, есть ли аналог диалога из gisdlgs типа tedEditSemantic, только с кнопками "вперед"/"назад", для перемещения между объектами? C Builder 6, GTK free 11.12, библиотеки от 20/02/17.
09.03.2017 16:07:19
Диалог открытия атласа вызывается, данные добавляются, но после закрытия/открытия диалога данные не появляются. Также, при попытке открыть карту сообщение AW_OPENDOC окну не пресылается. Пробывал создать атлас в операторе, в операторе все хорошо, этот же файл пытаюсь открыть в своей программе, все пусто, открывается пустой диалог. Библиотеки GTK от 20/02/2017.
[CODE] char FileName[MAX_PATH] = ""; char * Extends; char * title; OpenDialog1->Options << ofFileMustExist; if (LanguageCode == ML_RUSSIAN) { title = "Открытие атласа карт"; Extends = "Файлы атласа(*.als)|*.ALS"; } else { title = "Open atlsas of map"; Extends = "Atlas file (*.als)|*.ALS"; } OpenDialog1->Filter = Extends; OpenDialog1->Title = title; // бШАПЮРЭ ХЛЪ ТЮИКЮ if (OpenDialog1->Execute()) { HINSTANCE libinst = ::LoadLibrary("gisdlgs.dll"); // бШГНБ ТСМЙЖХХ typedef long int (WINAPI * OPENATL)(TTASKPARMEX *parm, char* name, long int size, long int mode); OPENATL lpfn_openatl = (OPENATL)GetProcAddress(libinst, "tedOpenAtlasEx"); int ret = 0; if (lpfn_openatl != 0) { TTASKPARMEX LoadParm; LoadParm.Language = Language; LoadParm.Resource = (int)libinst; LoadParm.IniName = MapIniName; LoadParm.HelpName = HelpName; LoadParm.PathShell = PathShell; LoadParm.ApplicationName = ApplicationName; LoadParm.Handle = Handle; // хэндл основного окна программы, сообщение AW_OPENDOC замапино LoadParm.DocHandle = Handle; strncpy(FileName, (char *)OpenDialog1->FileName.c_str(), sizeof(FileName) - 1); // БШГБЮРЭ ДХЮКНЦ ret = (*lpfn_openatl)(&LoadParm, FileName, sizeof(FileName)-1, 0); } if (libinst) { ::FreeLibrary(libinst); } }[/CODE]
Изменено: |
|
|
25.10.2016 08:47:19
[QUOTE]Денис Вицко написал:
Поясните, пожалуйста, что, как и откуда Вы вызываете.[/QUOTE] Вызываю из gisconv.dll Map2GML. |
|
|
24.10.2016 11:56:31
Вызов функции динамический, заголовочные файлы hpp. [CODE] HINSTANCE libinst = ::LoadLibrary("gisvectr.dll");
typedef long int (WINAPI * MAP2DIR)(HMAP hmap, char* lpszsource, TTASKPARM* parm); MAP2DIR pmap2dir = (MAP2DIR)GetProcAddress(libinst, "SaveMap2DIR"); if (pmap2dir != 0) //сдесь 0, дальше не заходит ret = (*pmap2dir)(map,path,&LoadParm); //path - имя источника if (libinst) ::FreeLibrary(libinst); [/CODE]Анологичный код для SaveMap2SXF и SaveMap2TXF, все это в одной функции через case, в зависимости от типа сохраняемой информации, с ними все нормально, диалоги вызываются. И посиотрите еще SaveMapToDxf14, вызов функции из библиотеки gistod14.dll тоже возвращает NULL. И, еще, при сохранении в формат GML пытается создать xsd файл и для этого диалогу необходима библиотека gisursctools.dll, но ее нет, есть gisrsctools.dll - поправте, пожалуйста.
Изменено: |
|
|
© КБ Панорама, 1991-2024 Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности |