Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.026 c
1-1080138951
Marina
2004-03-24 17:35
2004.04.11
Как вывести строку из DLL


1-1080130745
dik
2004-03-24 15:19
2004.04.11
Функция UpCase


7-1080538520
Ivolg
2004-03-29 09:35
2004.04.11
Указатель


7-1075808615
Dran
2004-02-03 14:43
2004.04.11
Отжатие клавиши Win


14-1077529058
VictorT
2004-02-23 12:37
2004.04.11
Львовская встреча Дремучих & Мастаков




   Наверх