Здравствуйте господа разработчики !
В порядке работы ядра mapacces64.dll и драйвера задач maptask64.dll с внешними приложениями, сказано
что при вызове сторонней задачи через экспортную функцию CreateMapTask в качестве параметра передаётся
следующая структура
[QUOTE]typedef struct TASKPARM // ПАРАМЕТРЫ ПРИКЛАДНОЙ ЗАДАЧИ
{
long int Language; // Код языка диалогов (1 - ENGLISH,2 - RUSSIAN, ...)
#if defined(_M_X64) || defined(BUILD_DLL64)
#ifdef WIN32API
long int Zero; // Выравнивание указателей
#endif
#endif
HINSTANCE Resource; // Модуль ресурсов приложения
const char* HelpName; // Полное имя файла ".hlp"
const char* IniName; // Полное имя файла ".ini" приложения
const char* PathShell; // Каталог приложения (exe,dll,...)
const char* ApplicationName; // Имя приложения
#ifdef WIN32API
HWND Handle; // Идентификатор главного окна приложения
#else
MSGHANDLER Handle; // Идентификатор обработчика команд главного окна приложения
#endif
}
TASKPARM;[/QUOTE]
На вход через TASKPARM->PathShell должен быть путь
а) для ГИС Панорамы 2011 - в кодировке WIN1251 (Ansi)
б) для ГИС Панорама 2012 х64 - в кодировке UNICODE (1 символ 2 байта)
то есть, ядро mapacces64.dll + maptask64.dll должно передавать мне путь к ГИС Панораме в кодировке Юникод.
Проигрался целый час, пока не решил объявить эти поля по старому: PathShell [B]PAnsiChar[/B]
Сразу же пути начали корректно читаться и восприниматься в ХЕ5
Вопрос: проверял ли кто-то, с какими кодировками работает ядро ГИС Панорамы х64 с внешними приложениями?
В порядке работы ядра mapacces64.dll и драйвера задач maptask64.dll с внешними приложениями, сказано
что при вызове сторонней задачи через экспортную функцию CreateMapTask в качестве параметра передаётся
следующая структура
[QUOTE]typedef struct TASKPARM // ПАРАМЕТРЫ ПРИКЛАДНОЙ ЗАДАЧИ
{
long int Language; // Код языка диалогов (1 - ENGLISH,2 - RUSSIAN, ...)
#if defined(_M_X64) || defined(BUILD_DLL64)
#ifdef WIN32API
long int Zero; // Выравнивание указателей
#endif
#endif
HINSTANCE Resource; // Модуль ресурсов приложения
const char* HelpName; // Полное имя файла ".hlp"
const char* IniName; // Полное имя файла ".ini" приложения
const char* PathShell; // Каталог приложения (exe,dll,...)
const char* ApplicationName; // Имя приложения
#ifdef WIN32API
HWND Handle; // Идентификатор главного окна приложения
#else
MSGHANDLER Handle; // Идентификатор обработчика команд главного окна приложения
#endif
}
TASKPARM;[/QUOTE]
На вход через TASKPARM->PathShell должен быть путь
а) для ГИС Панорамы 2011 - в кодировке WIN1251 (Ansi)
б) для ГИС Панорама 2012 х64 - в кодировке UNICODE (1 символ 2 байта)
то есть, ядро mapacces64.dll + maptask64.dll должно передавать мне путь к ГИС Панораме в кодировке Юникод.
Проигрался целый час, пока не решил объявить эти поля по старому: PathShell [B]PAnsiChar[/B]
Сразу же пути начали корректно читаться и восприниматься в ХЕ5
Вопрос: проверял ли кто-то, с какими кодировками работает ядро ГИС Панорамы х64 с внешними приложениями?