全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1742
推到 Plurk!
推到 Facebook!

TFrame & DLL 問題

答題得分者是:darkside
Skyer
高階會員


發表:43
回覆:111
積分:120
註冊:2002-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-20 23:30:34 IP:61.30.xxx.xxx 未訂閱
我想把在 DLL 中的一個 Frame 動態產生後,放到主程式上... 可是以下程式,執行完後,什麼事也沒發生,沒有看到想要的 Frame 我的 Frame 上就只有一個按鈕,按下去彈出一個 Message 而以..    請幫幫忙吧....    我的 DLL
library Dll2;    uses
  SysUtils,
  Classes,
  Forms,
  MainFrame in 'MainFrame.pas' {Frame1: TFrame};    {$R *.res}    function CreateFrame(AOwner: TComponent): TFrame;
begin
  Result := MainFrame.TFrame1.Create(AOwner);
end;    exports
  CreateFrame;
  
begin
end.
我的主程式
unit MainForm;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FrameB;    type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;    var
  Form1: TForm1;
  hIns: THandle;
  AFrame: TFrame;    implementation    {$R *.dfm}    procedure TForm1.Button1Click(Sender: TObject);
var
  CreateFrame: function(AOwner: TComponent): TFrame;
begin
  if hIns = 0 then
    Exit;
  CreateFrame := GetProcAddress(hIns, 'CreateFrame');
  if Assigned(CreateFrame) then begin
    AFrame := CreateFrame(Form1);
    AFrame.Parent := Self;
    AFrame.Align := alClient;
  end;
end;    procedure TForm1.FormCreate(Sender: TObject);
begin
  hIns := LoadLibrary('Dll2.dll');
end;    procedure TForm1.FormDestroy(Sender: TObject);
begin
  AFrame.Free;
  FreeLibrary(hIns);
end;    end.
-- Skyer
------
--
Regards,
Skyer
darkside
一般會員


發表:15
回覆:42
積分:16
註冊:2002-03-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-21 08:18:43 IP:139.223.xxx.xxx 未訂閱
這個網站: http://www.geocities.com/huanlin_tsai/ 有幾篇 DLL 的文章,雖然沒有用到 frame,而是將 form 包在 DLL 裡面,但也許會有幫助。
Skyer
高階會員


發表:43
回覆:111
積分:120
註冊:2002-04-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-21 23:15:48 IP:61.30.xxx.xxx 未訂閱
感謝您的分享 ^^ 經過我測試的結果,發現只要在最後面加個  UpdateControlState 就可以正常顯示了.. 寫了一個小 Example..    希望對跟我有一樣問題的人有幫助..    http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20656 -- Skyer
------
--
Regards,
Skyer
系統時間:2024-04-27 7:50:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!