RUS  ENG 

Проблема с передачей параметра CommandID в плагин

Страницы: 1
RSS
Проблема с передачей параметра CommandID в плагин
 
Перешел на win7 и XE2. Столкнулся с такой проблемой, при нажатии пользовательских кнопок из реестра в плагин передаётся значение CommandId. Раньше это значение воспринималось как число, теперь как набор нечитаемых символов. Версия Zulu 4780
 
Добрый день. Zulu использует параметр CommandID для сопоставления идентификаторов кнопок инструментов и пунктов меню командам плагина. Он обрабатывается внутри Zulu и никак не передается в плагин. Непонятно где и как он воспринимается как набор нечитаемых символов ? Может Вы путаете с параметром CommandLine у метода плагина ? Но он всегда был строковым.
 
Согласен неверно выразился, конечно же CommandLine, и в нем записано определённое значение например 40048. Определен Method например Cmd. В плагине в функции function Cmd(const Cookie: dword; const Param: PChar): boolean; stdcall; я ожидаю во входном параметре Param увидеть это значение, но этого не происходит.
 
fagest, проверьте, что 40048 задано именно как строковый параметр (не REG_DWORD, не REG_BINARY). Независимо от содержания, CommandLine всегда должна быть строкой (тип REG_SZ).
 
40048 задано именно как строковый параметр тип REG_SZ
 
fagest, пожалуйста, пришлите пример кода плагина (включая скомпилированный модкль), и скрипт регистрации, чтобы воспроизвести ситуацию. В Zulu модули ZuluThermo, ZuluHydro, ZuluGaz, ZuluSteam, ZuluDrain успешно выполнены именно как DLL c экпортируемыми функциями и с использованием CommandLine. Допускаю, что при компиляции в XE2 функция иначе принимает параметры (что-то с calling convention).
[email protected] (Дмитрий Озеров)
 
Спасибо за консультацию. Проблема банально разрешилась. Заменил Param:PСhar на Param:PAnsiChar
далее проверяю trystrtoint(String(AnsiString(Param)),i)
Страницы: 1