Selamlar Arkadaşlar
ben projemde oldukça fazla sayıda frame kullanıyorum. Bu framelerin çalışma anında ( herbiri için ayrı dosya) dll dosyasından yüklenmesini istiyorum yani dll içerisine frame gömmek ve çalışma anında gereken frame dll den yüklemek istiyorum. böylece programımda güncelleme yapacağım zaman sadece gerekli dll dosyasını güncellemeyi düşünüyorum yardımlarınız için şimdiden teşekkürler
DLL içerisinde frame
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- fatihtolgaata
- Üye
- Mesajlar: 382
- Kayıt: 04 Mar 2004 09:46
- Konum: K.çekmece / İstanbul
- İletişim:
normal bir uygulamada framelerini ya da formlarını tasarla. ardından bu frame'in ya da formun unitini gömmek istediğin dll içinde uses kısmına ekle. Dll içinden de frame'i gösteren bir fonksiyonu export edersen istediğin yerde kullanabilirsin. fonksiyon şunun gibi bir şey olabilir:
function ShowFrame(Parent: Handle): Handle;
kolay gelsin.
function ShowFrame(Parent: Handle): Handle;
kolay gelsin.
- fatihtolgaata
- Üye
- Mesajlar: 382
- Kayıt: 04 Mar 2004 09:46
- Konum: K.çekmece / İstanbul
- İletişim:
s.a.
Normal bir application açtıktan sonra yeni bir frame oluştur. Ardından formuna bu frame'i ekle. Ana formun unitinin ismi Unit1 olsun, frame'in uniti de unit2 olsun diyelim. Sonra bu uygulamayı bir klasöre kaydet ve bu uygulamayı kapat. Sonra yeni bir dll uygulaması aç ve bunu ilk uygulamamızın klasörüne kaydet. Yani Unit1 ve Unit2 olan yere... Sonra dll içindeki uses bloğunun şöyle olmasını sağla:
Artık gerek Form1'i gerekse de Frame2'yi kullanabilirsin. Sonra aşağıdaki gibi bir fonksiyon yaz:
Yani mantık bunun gibi bir şey. Sen bunu kendi uygulaman için uyarlayabilirsin. Frame, Form ya da herhangi bir kontrol nesnesi bu şekilde dll'den çağrılabilir. Ha bu dll'i nasıl çağıracaksınız? O da şöyle bir şey olabilir.
gibi..
vesselam.
Normal bir application açtıktan sonra yeni bir frame oluştur. Ardından formuna bu frame'i ekle. Ana formun unitinin ismi Unit1 olsun, frame'in uniti de unit2 olsun diyelim. Sonra bu uygulamayı bir klasöre kaydet ve bu uygulamayı kapat. Sonra yeni bir dll uygulaması aç ve bunu ilk uygulamamızın klasörüne kaydet. Yani Unit1 ve Unit2 olan yere... Sonra dll içindeki uses bloğunun şöyle olmasını sağla:
Kod: Tümünü seç
uses
SysUtils,
Classes,
Controls,
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Frame2: TFrame};
Kod: Tümünü seç
function ShowFrame(Parent: TWinControl): TFrame; export;
var
Frame2: TFrame2;
begin
Frame2 := TFrame2.Create(Parent);
Frame2.Parent := Parent;
Result := Frame2;
end;
exports
ShowFrame;
Kod: Tümünü seç
function ShowFrame(Parent: TWinControl): TFrame; external "project2.dll";
.....
NewFrame := ShowFrame(Form1);
vesselam.