İçerisinde normal form olan bir projeyi DLL 'e nasıl dönüştürebiliriz.
Bununla ilgili böyle bir seyin olabildiğine dair bir bilgi aldım. Ama tam olarak nasıl yapıldığı hakkında bir bilgi sahibi olamadım.
Yardımcı olabilecek arkadaşlara şimdiden teşekürler.
Saygılarımla,
Normal bir formu kolay yoldan DLL e donuştürm
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Normal bir formu kolay yoldan DLL e donuştürm
"Millete efendilik olmaz,hizmet olur,
kim Millete hizmet ederse,
o milletin efendisidir."
kim Millete hizmet ederse,
o milletin efendisidir."
Yapmak istediğin dll içinden form çağırmaksa ilk olarak bir dll projesi aç daha sonra içine form ekle düzenle falan filan derle.
Daha sonra yaptığın başka bir projeden bu formu çağırabilirsin.
Daha sonra yaptığın başka bir projeden bu formu çağırabilirsin.
Oldeye Software
http://www.oldeye.com
http://www.oldeye.com
bu soru icin bir dll hazırladım
uses listesine bir form dahil ettim
kodlar asagıda
bunu build edince FormDll diyee bir dll elde ediyoruz..
kullanımı icin soyle bir uygulama yaptım
form uzerine bir buton koydum
butona basınca dll deki form cagrılıyor
ama programı kapatınca accessviolation veriyor
daha dogrusu hata mesajından w2000 de kaptmak ta mumkun olmuyor
acaba gozumden kacan bir sey mi var?
DÜZELTME....
dll kodunda ShareMem i kaldırınca sorun yok
acaba bir parametre aktarımı yapmadıgım halde bu uniti dahil ettigimden mi hata veriyor du?
yoksa onceki kullandıklarımda bu unit vardı ve eger bir deger donduruyor iseniz kullanmak gerekiyordu diye biliyorum
uses listesine bir form dahil ettim
kodlar asagıda
Kod: Tümünü seç
library dllform;
uses
SysUtils, Classes,ShareMem,
myform in 'myform.pas' {FrmMain};
{$R *.RES}
procedure CallForm;stdcall;
begin
FrmMain:= TFrmMain.Create(nil);
with FrmMain do
try
ShowModal;
finally
Free;
end;
end;
exports
CallForm;
begin
end.
kullanımı icin soyle bir uygulama yaptım
form uzerine bir buton koydum
Kod: Tümünü seç
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TFrmMain = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmMain: TFrmMain;
procedure CallForm; stdcall; external 'DllForm.dll';
implementation
{$R *.DFM}
procedure TFrmMain.Button1Click(Sender: TObject);
begin
CallForm;
end;
end.
ama programı kapatınca accessviolation veriyor
daha dogrusu hata mesajından w2000 de kaptmak ta mumkun olmuyor
acaba gozumden kacan bir sey mi var?
DÜZELTME....
dll kodunda ShareMem i kaldırınca sorun yok
acaba bir parametre aktarımı yapmadıgım halde bu uniti dahil ettigimden mi hata veriyor du?
yoksa onceki kullandıklarımda bu unit vardı ve eger bir deger donduruyor iseniz kullanmak gerekiyordu diye biliyorum

ÜŞENME,ERTELEME,VAZGEÇME