dll sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cihan
Üye
Mesajlar: 65
Kayıt: 02 Ağu 2005 03:34

dll sorunu

Mesaj gönderen cihan »

mdi bir formada child formları dll içine aldım ve oşekilde çalıştırıyorum.

dll yükleme komutum aşagıda

Kod: Tümünü seç

procedure TForm1.Dllformcagir(Dlladi : Pchar; Formadi : string;data:TIBdatabase);
var
  ShowMDIChild: procedure(Application: Tapplication; Formname: string;data:TIBdatabase);
begin
 try
    Screen.Cursor := crSQLWait;
    handle := LoadLibrary(Dlladi);
    if Handle <> 0 then
    begin
      @ShowMDIChild := GetProcAddress(handle, 'ShowMDIChild');
      if @ShowMDIChild <>nil then
        ShowMDIChild(Application, Formadi,data)
      else
      begin
        ShowMessage('HATA : 00001, Çağrılan Procedure Bulunamadı [Stok Modülü]');
      end;
    end
    else
    begin
      ShowMessage('HATA : 00002, Stokmdl Dll Kütüphanesi Bulunamadı [Stok Modülü]');
      FreeLibrary(Handle);
    end;
  finally
    Screen.Cursor := crDefault;
  end;
end;
normalde herşey düzgün çalışıyor. Yalnız

child formu close yaptığımda

ve yeniden çağırdığımda child form gelmiyor.
DLL içindeki child formun açık olup olmadığını nasıl kontrol edebilirim.
eğer onu kontrol edebilirsem yüklenen dll free etme şansım olacak

teşekkürler
cagatay77
Üye
Mesajlar: 37
Kayıt: 31 Eki 2003 12:34

Mesaj gönderen cagatay77 »

Kod: Tümünü seç

function TANAForm.FormAktifmi(FormAdi: String):Boolean;
var
  i: integer;
begin
  result := False;
  with ANAForm do
    for i := MDIChildCount-1 downto 0 do
      if(MDIChildren[i].Name) = FormAdi then
      begin
        result := True;
        break;
      end;
end;
FormAdi : ChildForm'un özelliklerindeki "Name" stringi.
Cevapla