Thema: Delphi DLL - Form Problem

Einzelnen Beitrag anzeigen

Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#1

DLL - Form Problem

  Alt 7. Sep 2006, 16:35
Moin hab grad probiert eine Form folgendermaßen in eine DLL zu quetschen:

Delphi-Quellcode:
function KarteiAdmin(parent: Pointer;nr:integer;
                     curUserID:integer): boolean; stdcall;
begin
 try
   AdminKartei(parent,patnr);
 finally
 end;
end;

function AdminKartei(parent: Pointer;
                     nr:integer):boolean;
begin
  if Assigned(parent) then
  begin
    ShowMessage('geht los');
    frmKarteiAdmin := TfrmKarteiAdmin.Create(nil);
    try
      frmKarteiAdmin.SetParent(parent);
      frmKarteiAdmin.ibtr.DefaultDatabase := db;
      frmKarteiAdmin.SetPatnr(patnr);
      frmKarteiAdmin.ShowModal;
    finally
      frmKarteiAdmin.Free;
    end;
  end
end;

procedure TfrmKarteiAdmin.FormCreate(Sender: TObject);
var
  pc: PChar;
begin
  // Modul anzeigen
  GetMem(pc, MAX_PATH);
  if Assigned(pc) then
    try
      ZeroMemory(pc, MAX_PATH);
      GetModuleFileName(hInstance, pc, MAX_PATH);
      showmessage(string(pc));
    finally
      FreeMem(pc);
    end
  else
    showmessage('Konnte Modulnamen nicht ermitteln.');
end;


das ganze lass ich dann so wieder aufrufen:

Delphi-Quellcode:
function CheckKartei:boolean; //addieren(zahl1, zahl2: integer): integer;
var KarteiAdmin: TKarteiAdmin;
    Handle: THandle;
begin
  Handle:=LoadLibrary(PChar(ExtractFilePath(ParamStr(0))+'daKarteiAdmin.dll'));

  if Handle <> 0 then begin
    @KarteiAdmin := GetProcAddress(Handle, 'KarteiAdmin');
    if @KarteiAdmin <> nil
    then result:=KarteiAdmin(nil,1,0);

    try FreeLibrary(Handle); except end;
  end;
end;
Mein Problem ist das beim Aufruf das Form nicht angezeigt wird und beim FreeLibrary gibts ne Exception...

Kann mir jemand sagen wo das Problem liegt ?
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat