Главная страница
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.082 c
1-1079708623
Chcnger
2004-03-19 18:03
2004.04.11
int64


14-1079626268
nastojashij Kamerad
2004-03-18 19:11
2004.04.11
Я доделал свой сайт: смотрите и любуйтесь


1-1082707727
serg128
2004-04-23 12:08
2004.04.11
Как связать TExcelWorkBook с объектом xApp = GetActiveObject(xl);


3-1081358815
romeo
2004-04-07 21:26
2004.04.11
Отслеживание изменения таблицы


8-1071902438
CREW
2003-12-20 09:40
2004.04.11
MediaPlayer не работает в ХР