Arsip: Bgmana Cara Embed Form DLL to TTabsheet di Form Pemaggil ?

 
user image
more 13 years ago

henry_sys

Buat para Delphier Sekalian Saya masih newbie ttg DLL (Dynamic Link Library) jd mohon pencerahan dari kk/Sdr/i ini coding2 yang saya coba buat Coding Form1 yang ada di DLL [code][code]Procedure ShowForm; begin Application.CreateForm(TForm1,Form1); end; Exports Showform;[/code] Coding Untuk Memanggil Form yg ada di DLL serta Create TTabsheet dan embed Form To TTabsheet [code]procedure TForm1.Button1Click(Sender: TObject); var PanggilForm : function : Tform; libHandle : THandle; tampil : TForm; vTab : TTabsheet; begin libHandle := LoadLibrary('d:/The Programs/myDll/reportdll.dll'); if (libHandle =0) then begin MessageDlg('File ReportDll tidak ada',mtError,[mbOK],0); Abort; end; @PanggilForm := GetProcAddress(libHandle,'ShowForm'); vTab := TTabSheet.Create(PageControl1); vTab.Name := 'TabCoba'; PanggilForm.Parent := vTab; vTab.Show; //FreeLibrary(libHandle); end; [/code] Kalu Btn1 Di Klik akan tampil Error "A Control cannot have itself as its parent" Mohon Pencerahan... Thax
user image
more 13 years ago

reminder2k1

Sebelum lebih jauh masalah DLL ini, lebih baik beralih BPL deh... Klo ada FORM dari DLL yg akan di embed ke MAIN APP, sampe saat ini saya selalu terhalang masalah ActiveControl (TAB/FOCUSING), karena klo di tekan tombol TAB, si cursor hanya pindah2 di control yg ada di MAIN APP saja (walaupun di FORM DLL nya itu ada control juga)... Sampai sekarang saya belum nemu solusinya...
user image
more 13 years ago

henry_sys

Saya sdh pindah ke BPL mas reminder21k dan sdh sampai embed Form dr Bpl Ke TTabshett dan saya dapat masalh spt berikut : 1. Object yang ada di Form spt tdk aktif. Apakah cr pemanggilan saya ada yg salah ? 2. Bagaimana cara me-Relese Parent Form (Parent = TTabsheet) di MainApp? Scrip untuk memanggil Form dr BPL saya Spt ini : procedure TFmUtama.PackageLoad(vProcName : PAnsiChar); begin PackageModule := LoadPackage('Package1.bpl'); if PackageModule <> 0 then try @ExeChild := GetProcAddress(PackageModule,vProcName); except ShowMessage('Package Not Found'); end; end; procedure TFmUtama.ShowChilds(vName : PAnsiChar); var vTab : TcxTabSheet; begin if cxPageControl1.FindComponent(vName) = nil then begin PackageLoad(vName); vTab := TcxTabSheet.Create(Owner); vTab.PageControl := cxPageControl1; vTab.Name := vName; ExeChild.Parent := vTab; vTab.Show; //ExeChild; end else (cxPageControl1.FindComponent(vName) as TcxTabSheet).Show; end; Script untuk close Form procedure TFM1.BitBtn1Click(Sender: TObject); begin Parent.Destroying; Close; end; Mohon pencerahan ........
user image
more 13 years ago

mat_koder

Mungkin ada yg salah dlm pengertian disini. Yang dimaksudkan dengan pake BPL adalah bahwa "MainApp" DAN "DLL App" anda harus di-build dengan options "Build with runtime packages". Settingan itu ada di Project->Options.
user image
more 13 years ago

n3o_cybertech

halo mas hendry, hehehe...sorry baru liat postingannya :D, sbnernya kalo bahas bpl disini sih udah melenceng dari topik judul tp ya udah gpp moga2 ga disentil ma bos luri :D untuk penggunaan bpl dan dll itu beda caranya,coba deh baca2 disini http://edn.embarcadero.com/article/27178
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com