Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
15-1190464568
me
2007-09-22 16:36
2007.10.21
Сайты, форумы для изучающих английский


2-1190800377
O.O
2007-09-26 13:52
2007.10.21
Как удалить файл с атрибутом "только для чтения"


1-1186403635
pirks
2007-08-06 16:33
2007.10.21
WMI ConnectServer


15-1190286598
ANTPro
2007-09-20 15:09
2007.10.21
Подкажите программу


2-1190912375
mfender
2007-09-27 20:59
2007.10.21
Запись TList в файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский