Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
|
||||
|
plugin делфи e20-10пытаюсь изменить стандартный пример плагина на делфи под себя, подскажите по синтаксису есть непонятки: из кода 54 строка: LastPoints[I]:=data_Str^.data_to_plugin^[I]; вот на этом ресурсе синтаксис делфи по другому описывают http://www.delphi-manual.ru/pointers.php#4
прокомментируйте пожалуйста.
Есть ли у вас еще примеры на делфи?
при попытках подключения примера плагина к программе выдает ошибку памяти. |
|||
|
||||
|
Re: plugin делфи e20-10На LTR11 такая же ерунда. Пишет что для плагина памяти не хватает. Плюнул на си написал. |
|||
|
||||
|
Re: plugin делфи e20-10>вот на этом ресурсе синтаксис делфи по другому описывают data_str имеет тип PPluginDataStr = ^PluginDataStr
В статье по ссылке я вижу другой пример - массив указателей. Так что с синтаксисом, кажется, все нормально. Другой вопрос, нет ли проблем с выравниванием памяти и правильно ли определен тип стркутуры в .pas - пример под Delphi неофициальный, это все-таки пример. Может иметь смысл проверить соответствие описания типов в .pas и в include/plugin.h Если дельфи новые, то замените все char на AnsiChar. В Дельфи по доброте душевной любят поменять размеры базовых типов данных в очередной версии.
Наверное, стоит объявить структуры как packed record, потому что в .h #pragma pack(1) написано. Но реально там все поля кратные 4 байтам, поэтому при {$ALIGN 4} на практике должно быть одно и то же. |
|||
|
||||
|
Re: plugin делфи e20-10можно попробовать и на СИ написать (с языком знаком по SCADA Trace Mode), но не знаю в какой среде писать. Если есть рабочие примеры и как что нажимать для компиляции, буду очень благодарен. |
|||
|
||||
|
Re: plugin делфи e20-10Ответил на почту. Ошибка из-за выравнивания, надо сделать везде в plugin.pas packed record.
|
Страницы 1