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

Вниз

Переменные и массивы типа string в DLL без ShareMem   Найти похожие ветки 

 
chai   (2006-04-24 14:17) [0]

Доброго времени суток!
Могу ли я пользоваться локальными переменными и массивами типа string в
экспортируемой процедуре DLL, не ссылаясь на модуль ShareMem?
Спасибо.


 
MBo ©   (2006-04-24 14:22) [1]

да, если не обмениваешься ими с основной программой.


 
Сергей М. ©   (2006-04-24 14:28) [2]


> Могу ли


Свободно.

см. [1] - можешь даже обмениваться сабжем с вызывающим модулем безо всяких ShareMem, если DLL и вызывающий модуль собраны в одной и той же версии Делфи с опцией линкера Build With Run-Time Packages. Конечно если же речь при этом не идет о передаче в кач-ве результатов лок.переменных по ссылке.


 
KSergey ©   (2006-04-24 15:02) [3]

Или пользовать widestring.
Тогда вообще без ограничений.


 
Сергей М. ©   (2006-04-24 15:08) [4]


> KSergey ©   (24.04.06 15:02) [3]


С чего бы вдруг ?
WideString в этом плане накладывает точно такие же ограничения, как и AnsiString


 
KSergey ©   (2006-04-24 15:15) [5]

> Сергей М. ©   (24.04.06 15:08) [4]
> С чего бы вдруг ?
> WideString в этом плане накладывает точно такие же ограничения,
>  как и AnsiString

Нет.
Там есть "хитрость". Delphi для их "манажирования" использует виндовский менеджер памяти от COM. Т.е. для них используется глобально общий менеджер памяти.
А потому их можно свободно гонять туда-сюда.



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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
1-1144004930
TStas
2006-04-02 23:08
2006.05.14
Нельзя ли передать приложению данные не в виде файла, а потоком


3-1142690509
__Misha
2006-03-18 17:01
2006.05.14
Как получить коллекцию таблиц и полей базы


8-1134759707
CMOS
2005-12-16 22:01
2006.05.14
Изменение палитры


5-1130225284
Новенький
2005-10-25 11:28
2006.05.14
Изменить Scroll у TStringList


9-1129585447
Винтик
2005-10-18 01:44
2006.05.14
Кто нибудь делал диалоги на DelphiWebScript ?