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

求救:自訂物件&dll的問題

尚未結案
kugids
一般會員


發表:14
回覆:10
積分:4
註冊:2005-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-11 02:24:06 IP:218.162.xxx.xxx 未訂閱
我測試自訂了以下的物件: type atp = array of string; type Tarrays = class(TObject) public a: atp; function b:string; end; function Tarrays.b; begin result := self.a; end; 以上的自訂物件要如何置入dll裡呢? 又要如何叫出使用呢? 請各位高手教教我吧!
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-11 09:17:58 IP:61.222.xxx.xxx 未訂閱
都用指針傳遞。不過使用Delphi String 必須先 SetLength。 否則容易出現錯誤。
kugids
一般會員


發表:14
回覆:10
積分:4
註冊:2005-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-11 11:20:48 IP:60.248.xxx.xxx 未訂閱
感謝您的回覆 那有範例可以參考嗎? 最簡單的就好了 拜託拜託了
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-11 16:10:07 IP:61.222.xxx.xxx 未訂閱
//----------------------------------------- AB.Dll
library AB;    uses
  SysUtils,Controls,stdctrls,Classes;    {$R *.RES}      Function RunTest(Test :Pointer;Caption:PChar):integer; export;
  begin
    StrCopy(Caption,PChar(TLabel(Test).Caption));
  end;      exports
    RunTest;
begin    end.
//-----------------------------------------
type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
  public
  end;
  Function RunTest(Test :Pointer;Caption:PChar):integer; external 'AB';    var
  Form1: TForm1;    implementation    {$R *.DFM}    procedure TForm1.Button1Click(Sender: TObject);
var
  AStr : PChar;
begin
  GetMem(AStr,255);
  Try
    RunTest(Pointer(Label1),AStr);
    Showmessage(AStr);
  finally
    FreeMem(AStr);
  end;
end;
參考參考!
kugids
一般會員


發表:14
回覆:10
積分:4
註冊:2005-04-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-11 23:26:10 IP:218.162.xxx.xxx 未訂閱
感謝回覆.. 但如果我dll裡想放的是object呢? method 和 property又要如何宣告呢? 謝謝^^
系統時間:2024-05-02 9:24:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!