Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

передача переменной TStringList из DLL   Найти похожие ветки 

 
killer ©   (2004-04-19 17:57) [0]

Подскажите пожалуйста, как передать переменную типа TStringList из DLL в программу


 
VAleksey ©   (2004-04-19 18:05) [1]

Uses ShareMem

В главном модуле проекта и dll.
Все остальное также как ты сделал бы обычным образом.


 
Jack128 ©   (2004-04-19 18:10) [2]

так и передать

function MyFunc(sl: TStringList): LongInt; external "mydll.dll" name "MyFunc"

только не забудь, что и dll и основная прога ShareMem должны использовать

Но в общем случае такое делать нельзя (то есть можно, но если компилируешь с рантайм пакетами)


 
Jack128 ©   (2004-04-19 18:11) [3]

Да и еще - забудь про метод Assign


 
WebErr ©   (2004-04-19 18:12) [4]


> function MyFunc(sl: TStringList): LongInt; external "mydll.dll"
> name "MyFunc"

Из DLL в программу, а не из программы в функцию из DLL!


 
VMcL ©   (2004-04-19 18:12) [5]

>>Jack128 ©  (19.04.04 18:10) [2]

AFAIK, можно и без рантаймов. Главное, использовать не DLL, а BPL.


 
WebErr ©   (2004-04-19 18:12) [6]


> Да и еще - забудь про метод Assign

Assign не метод, а глобальная функция типа Boolean!


 
Jack128 ©   (2004-04-19 18:13) [7]


> Из DLL в программу, а не из программы в функцию из DLL!
блин, а разница??

> function MyFunc(sl: TStringList): LongInt; external "Project1.exe"
> name "MyFunc"


 
VMcL ©   (2004-04-19 18:14) [8]

>>WebErr ©  (19.04.04 18:12) [6]

Да ну? TStrings.Assign() ?


 
WebErr ©   (2004-04-19 18:15) [9]


> VMcL ©   (19.04.04 18:14) [8]

Sorry - я щас просто парюсь с Assigned, вот и чудится мне везде сия нечистая сила!


 
Jack128 ©   (2004-04-19 18:17) [10]


> AFAIK, можно и без рантаймов. Главное, использовать не DLL,
> а BPL.

В смысле для нормальной работы со строками? а где будет общий менеджер памяти?


 
killer ©   (2004-04-19 20:55) [11]

а что это за BPL? Что-то типа DLL но круче? :)))


 
killer ©   (2004-04-19 20:58) [12]

я в программе создаю эту переменную типа str:=TStringList.Create
а в DLL я к этой переменной прибовляю строки str.Add("Test")
а потом программе вывожу эту переменную в ListBox.Items:=str
затем str.Free. Так вот у меня вылитает какая-то ошибка... а если убрать строку str.Free то ошибка не вылитает... но мне не понятно... удаляется ли переменная str из памяти?


 
Jack128 ©   (2004-04-19 20:59) [13]


> Что-то типа DLL но круче? :)))
точно. Читай про пакеты (packages)



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
7-1076148754
Asd
2004-02-07 13:12
2004.04.11
Свернуть в tray чужую прогу


1-1082446133
Talle
2004-04-20 11:28
2004.04.11
Компонента как параметр процедуры.


3-1081493092
kalishenko
2004-04-09 10:44
2004.04.11
Lookup-поле в DBGridEh


3-1081425872
Rule
2004-04-08 16:04
2004.04.11
Есть в IBDataSete свойстов фильтеред, я им не пользовался со врем


1-1082538504
M@X
2004-04-21 13:08
2004.04.11
Адресация порта Longint ?? Как?