Главная страница
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.02 c
15-1226564342
Нов_и_чок
2008-11-13 11:19
2009.01.11
Справочник Win32 для XP


2-1227705341
MS
2008-11-26 16:15
2009.01.11
Указатель на тип string


6-1196964272
BlazeMaster
2007-12-06 21:04
2009.01.11
Вопрос о компоненте WebBrowser


6-1196845207
Lamer666
2007-12-05 12:00
2009.01.11
Как после события TWebBrowser DownloadComplete вернуться в цикл!


8-1185558850
Ронин
2007-07-27 21:54
2009.01.11
Звук