Главная страница
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.089 c
1-1080258987
Step[B.M.]
2004-03-26 02:56
2004.04.11
Как выполнить процеду OnMouseDown из другой программы ?


14-1079105115
McSimm
2004-03-12 18:25
2004.04.11
Внимание! Сайт переезжает на новый хостинг.


7-1075448725
Прямой
2004-01-30 10:45
2004.04.11
Как открыть дисковое устройство


1-1082562444
ламеррр
2004-04-21 19:47
2004.04.11
как отменить with


3-1081949308
Term
2004-04-14 17:28
2004.04.11
Как программно получить информацию о ROLE