在main定义 var log: boolean;在login定义 var plog: ^boolean;在main里调用 login := TLogin.Create(self); login.plog := @log; login.showmodal;在login里直接给plog赋值就可以了.
怎么对plog赋值不了啊? 它提示说类型不匹配
何必麻烦,你将Login窗体ShowModal,在Login内设置它的ModalResult,在main窗体里只需要检查Login窗体的ModalResult就OK了.就像下面这样: // unit main var log: boolean; with TLogin.Create(Self) do begin ShowModal; log:=(ModalResult=mrOk); Free; end;
var log: boolean;在login定义
var plog: ^boolean;在main里调用
login := TLogin.Create(self);
login.plog := @log;
login.showmodal;在login里直接给plog赋值就可以了.
它提示说类型不匹配
// unit main
var log: boolean;
with TLogin.Create(Self) do
begin
ShowModal;
log:=(ModalResult=mrOk);
Free;
end;
其实用指针还有个好处,就是可以引用任意类型的变量,甚至是引用对象.
而且不限于一个ModalResult赋值时要这样
plog^:=true;
然后在main中来对这个事件进行判断
if Login_Form.ShowModal=mrOK then
begin
....
....
end;