線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:959
推到 Plurk!
推到 Facebook!

在文档间共享变量的问题

 
KFC123_60201
一般會員


發表:58
回覆:18
積分:15
註冊:2006-07-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-07-26 01:43:46 IP:59.107.xxx.xxx 未訂閱

假设我开发了多个文档 A.pas, B.pas ... 在 A.pas 中有一个类(TFoo)的实例 foo,例如

// A.pas
...
var
foo :TFoo;
...
foo := TFoo.Create; // initialization here
...

现在,在 B.pas , C.pas 中的class都需要使用 A.pas 中的foo,我现在的做法是 将 A.pas 中的 foo 传给 B.pas 和 C.pas 中的 class,使得它们可以引用 foo。但这样做不方便。C/C 中可以使用extern来实现各个文件之间的共享,请问Delphi中怎样最方便实现各文件之间的共享变量?

谢谢

wtfka
一般會員


發表:0
回覆:14
積分:12
註冊:2006-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-07-26 01:57:44 IP:221.126.xxx.xxx 未訂閱

// a.pas

unit a;
interface
uses
type
TFoo = Class
private
public
end;

var
foo : TFoo;
// before implementation

implementation

initiallization
foo := tfoo.create;

finallization
foo.free;

// b.pas
unit b;
interface
uses
.................., a;

type

// c.pas
unit c;
interface
uses
................., a;

//這樣 b, c 可 Call a.pas 的 globe object

KFC123_60201
一般會員


發表:58
回覆:18
積分:15
註冊:2006-07-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-07-26 09:57:47 IP:59.107.xxx.xxx 未訂閱

===================引 用 文 章===================

// a.pas

unit a;
interface
uses
type
TFoo = Class
private
public
end;

var
foo : TFoo;
// before implementation

implementation

initiallization
foo := tfoo.create;

finallization
foo.free;

// b.pas
unit b;
interface
uses
.................., a;

type

// c.pas
unit c;
interface
uses
................., a;

//這樣 b, c 可 Call a.pas 的 globe object

感谢您的回复,你给的代码可以用:) 但如果是DLL, a.pas 换成 a.dpr 而且所有DLL接口函式写在其中,那么怎样在b.pas, c.pas中使用uses?

再次感谢

系統時間:2024-05-17 10:19:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!