Вверх ↑
Ответов: 211
Рейтинг: 52
#1: 2013-10-16 00:27:36 ЛС | профиль | цитата
TStrings — абстракт­ный класс, а TStringList реализующий его потомок. В КОЛ это будет указатель на созданный глобальной процедурой NewStrList/NewStrListEx объект с типом PStrList или PStrListEx соответственно. NewStrListEx реализует дополнительно работу с объектами - методы AddObject, InsertObject и т.д.
с учетом сказанного функция выглядит так function GetEngines:PStrList;stdcall;external 'SAPIDLL.DLL' name 'GetEngines';
Но важно учитывать, что библиотека имеет свой менеджер памяти и размещается в своем пространстве, отличном от основного приложения. Можно смело ожидать "бешеных указателей", если не использовать разделяемую память, вроде SharedMem.
Важно еще, объекты в КОЛ используются в качестве прототипов. Т.е. вы создаете свой объект со своими методами, а к "штатным" обращаетесь по указателям после создания объекта соответствующей глобальной функцией NewXXX.
карма: 1
слтв
1
Голосовали:flint2