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

Вниз

DLL и её вызовы   Найти похожие ветки 

 
0x00bin   (2007-09-26 17:25) [0]

У меня есть отдельная dll библиотека, в одной из процедур на вход подается запись с числовыми переменными и WideString (ShareMem не использую), эта запись передается по ссылке (var) и в этой процедуре переменные записи меняются.
Например: .WideString := .WideString + IntToStr(Random(255)) + #10;

А в приложении я динамически загружаю эту библиотку, забираю адрес для вызова процедуры.

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

Вопрос такой: я формирую этот массив классов, все создаю и они все начинают в результате работы взаимодействовать с dll, что произойдет? Реально ли сделать их работу в таком режиме?


 
Вася Правильный   (2007-09-26 17:53) [1]


> WideString (ShareMem не использую)

мазохизт? любитель граблей?


 
0x00bin   (2007-09-26 18:37) [2]

А что в этом плохого? И как это может повлиять на мою ситуацию, ну буду использовать PChar?


 
Вася Правильный   (2007-09-26 18:53) [3]


> как это может повлиять на мою ситуацию

прямо
просто не будет работать


 
Сергей М. ©   (2007-09-27 08:19) [4]


> ShareMem не использую


> в этой процедуре переменные записи меняются


Здесь тебя ждет засада, если взаимодействующие модули не используют один и тот же экз-р RTL.


 
Сергей М. ©   (2007-09-27 08:31) [5]

Точнее в этот раз засаду ты минуешь, но как только изменишь WideString на String и "числовые переменные" на данные с управляемым временем жизни, проблемы тебе будут обеспечены)


 
0x00bin   (2007-09-27 08:42) [6]

А в остальном будет нормальное функционирование? Я просто не думал, что у меня получится такое всзимодействие, когда несколько классов одновеременно обращаются к библиотеке...


 
Сергей М. ©   (2007-09-27 08:46) [7]


> не думал, что у меня получится такое всзимодействие, когда
> несколько классов одновеременно обращаются к библиотеке


А какая разница - один или несколько классов ?


 
0x00bin   (2007-09-27 09:06) [8]

Ну не знаю, поэтому и спрашиваю. Я далеко не профи.

Задам ещё вопрос не в тему. Опять же есть массив классов. И есть внешняя функция (которая находится вне класса), и все начинают её вызывать.

А если я эту внешнюю функцию внесу в класс. Чем поведение изменится в этих двух ситуациях? Т.е. во втором случае в каждом своя функция, а в первом общая.


 
0x00bin   (2007-09-27 09:09) [9]

И про мой вопрос с dll, а же думал, что под каждый созданный в массиве класс нужно jnltkmyj загружать одну и ту же dll. А у меня единственная загрузка dll а дальше я просто передаю в классы адрес вызова из dll. Это нормально?


 
Сергей М. ©   (2007-09-27 09:17) [10]


> Опять же есть массив классов




Так классов или объектов (т.е. экземпляров некоего одного и того же класса или неких разных классов) ? Определись уже, это разные вещи...


> у меня единственная загрузка dll а дальше я просто передаю
> в классы адрес вызова из dll. Это нормально?

Для однопоточного приложения на первый взгляд это вполне нормально.


 
0x00bin   (2007-09-27 09:32) [11]


> Так классов или объектов (т.е. экземпляров некоего одного
> и того же класса или неких разных классов) ? Определись
> уже, это разные вещи...

Экземпляров одного и того же класса.


 
Сергей М. ©   (2007-09-27 09:38) [12]


> думал, что под каждый созданный в массиве класс нужно jnltkmyj
> загружать одну и ту же dll


В определенных случаях это м.б. вполне оправданным решением.



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

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

Наверх




Память: 0.49 MB
Время: 0.026 c
2-1190805776
User.exe
2007-09-26 15:22
2007.10.21
Помогите! Как узнать букву системного диска?


15-1190652765
terc
2007-09-24 20:52
2007.10.21
HTML


2-1190883807
Lamer666
2007-09-27 13:03
2007.10.21
Если компонент в DELPHI который бы отрожал все MDIChilde формы?


15-1190604782
Slider007
2007-09-24 07:33
2007.10.21
С днем рождения ! 23 сентября 2007 воскресенье


2-1190633921
alshtam
2007-09-24 15:38
2007.10.21
ресурс