Registriert seit: 18. Jul 2006
Ort: Leipzig
20 Beiträge
|
Re: IB_Connection Pointer
7. Aug 2006, 16:56
folgenden code enthält die exe (Datenmodul ANUcon zur verbindungserstellung):
Delphi-Quellcode:
unit ANUcon;
interface
uses
SysUtils,Dialogs, Classes, IB_Components;
type
Tdbcon = class(TDataModule)
dbconnection: TIB_Connection;
procedure DataModuleCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
dbcon: Tdbcon;
globaldbpointer:Pointer;
implementation
{$R *.dfm}
procedure Tdbcon.DataModuleCreate(Sender: TObject);
begin
try
dbconnection.Username:=' SYSDBA';
dbconnection.Password:=' masterkey';
dbconnection.connect;
except
MessageDlg(blablabla);
end;
ANUcon.globaldbpointer := ANUcon.dbcon.dbconnection.dbHandle;
//hier liegt mein problem: ich bekomme kein verwertbaren rückgabewert, es entsteht an ieser stelle
// immer wieder ein accessviolation error bzw zugriffsverletzung, warum auch immer.
//wenn nich dahin aber @ANUcon.dbcon.dbconnection verwende hab ich den pointer den ich wollte...
//nur den wiederum frisst die dll_con.dbhandleshared nicht.
end;
___________________
___________________
diese funktion der DLL soll die verbindung der exe aufgreifen und benutzen:
Delphi-Quellcode:
library equip;
uses
ShareMem,
ExceptionLog,Types,Controls,Windows,{ExtCtrls,}Forms,
SysUtils,
Classes,
DM_Eq in 'DM_Eq.pas' {DMEq: TDataModule},
FRM_EQ in 'FRM_EQ.pas' {frmEq},
TH_Consts in 'D:\soft\all\TH_Consts.pas';
{$R *.res}
var
DLLForm : TfrmEq;
DLLApplication : TApplication;
function showdllform(pApplication:TApplication;pPanel:TWinControl;pHeight,pWidth:Integer;p_dbpointer:Pointer):HWND;
begin
if not assigned(DLLApplication) then
DLLApplication := Application;
Application := pApplication;
try
frmeq.dbconnection.dbHandleShared:=p_dbpointer;
except
MessageBox(blabla);
end;
if not assigned(DLLForm) then
DLLForm := Tfrmeq.CreateParented(pPanel.Handle);
with DLLForm do
begin
BorderStyle:= bsnone;
Height := pHeight;
Width:=pWidth;
top:=0;
show;
end;
result:= DLLForm.Handle;
end;
[edit=Phoenix][ Delphi ]-Tags eingefügt. Bitte das Nächste mal selber dran denken. Mfg, Phoenix[/edit]
|
|
Zitat
|