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

Вниз

TIBataBase и DLL   Найти похожие ветки 

 
Сергей М. ©   (2008-03-17 08:26) [40]


> а в DoneDll: Form1.Free


> Убрав DoneDll все стало работать


Те же фаберже, только вид сбоку - где-то присутствует попытка повторного уничтожения объекта, только в д.сл. этим объектом является объект-форма.


 
Maxick ©   (2008-03-17 09:02) [41]

По логике вещей - да. Но не вижу где.

function InitDll():boolean; stdcall;
begin
Form1:= TForm1.Create(Application);
Result:= true;
end;

function DoneDll():boolean; stdcall;
begin
Form1.Free;
Result:= true;
end;

Function ShowForm(): boolean; stdcall;
begin
form1.show;
Result:= true;
end;


Вызыв:
var//глабальные переменные
hdll: THandle;
..OnCreate(sender);

begin
...
hdll:=LoadLibrary("zzz.dll");
@InitDll:= getprocadress(hdll,"InitDll");
ItitDll;
...
OnDestroy
DaneDll;
FreeLibrary(hdll);
...
OnClick (кнопочка на главной форме)
ShowForm;


Тоесть все по класической схеме.


 
Сергей М. ©   (2008-03-17 09:26) [42]


> Form1:= TForm1.Create(Application);


Application здесь от балды написано ?
Или ты понимаешь смысл именно такого указания ?


 
Сергей М. ©   (2008-03-17 09:30) [43]

stdcall тоже от балды указано ?
Это, конечно, не принципиально, но нельзя же бездумно сдувать чужой код, "заточенный" под чиную специфику)


 
Maxick ©   (2008-03-17 10:08) [44]


> Form1:= TForm1.Create(Application);

Сделано для указания родителя, вовсе не бездумно. Мне нужно, чтоб наследовала форма некоторые свойства от Application.
А по поводу StdCall - это для того, чтоб работали мой длл не только с моим приложением. Теорию я знаю, и бездумно не сдираю чужие коды - этож класика ...


 
Leonid Troyanovsky ©   (2008-03-17 10:13) [45]


> Maxick ©   (17.03.08 10:08) [44]

> А по поводу StdCall - это для того, чтоб работали мой длл
> не только с моим приложением. Теорию я знаю, и бездумно

Сказка про белого бычка.

--
Regards, LVT.


 
Maxick ©   (2008-03-17 10:48) [46]


> Leonid Troyanovsky ©   (17.03.08 10:13) [45]

а попробуй без соглашения CtdCall вызвать функцию из DLL написаной на Delphi в С++...


 
Сергей М. ©   (2008-03-17 12:37) [47]


> Сделано для указания родителя, вовсе не бездумно. Мне нужно,
>  чтоб наследовала форма некоторые свойства от Application.


Ни "родительские" ни "наследственные" отношения не имеют к параметру Owner никакого отношения.

Owner - это владелец, а не "родитель" и тем более не "предок".


> Теорию я знаю, и бездумно не сдираю чужие коды - этож класика


Да-да, оно заметно.


> попробуй без соглашения CtdCall вызвать функцию из DLL написаной
> на Delphi в С++


Ну и какой нафих Application в C++ ? И c какой луны там взялся TIBDatabase, который ты вознамерился передать в свою dll ?



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

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

Наверх




Память: 0.55 MB
Время: 0.01 c
15-1226831942
b1tard
2008-11-16 13:39
2009.01.11
Симплекс-метод


2-1227536047
demon
2008-11-24 17:14
2009.01.11
Обрезание расширений


15-1225878617
Kolan
2008-11-05 12:50
2009.01.11
Присоветуйте ноутбук.


3-1212577949
Igor_34
2008-06-04 15:12
2009.01.11
Запись документа WORD в BLOB-поле


8-1189410907
Owner
2007-09-10 11:55
2009.01.11
Проблемы со звуком