结构定义为
type
TF2Rec = record
Caption: string;
strTrans1: string; //单选时的返回值
strTrans2: string; //单选时的返回值
strTrans3: string; //单选时的返回值
strTrans4: string; //单选时的返回值
lpsltRet1:TStringList; //多选时的返回值
lpsltRet2:TStringList; //多选时的返回值
lpsltRet3:TStringList; //多选时的返回值
lpsltRet4:TStringList; //多选时的返回值
strKey: string; //起始值,用于过滤
strFilter: string; //用于特定条件过滤
bMultiSelect:boolean; //标志是否多选
end;调用一个FORM的入口函数:
function F2Pattern(var F2Rec:TF2Rec):boolean;
var
bFlag:boolean;
begin
bFlag:=false;
fmF2Pattern:=TfmF2Pattern.Create(application);
fmF2Pattern.m_F2Rec:=F2Rec;
if fmF2Pattern.ShowModal=mrOk then
begin
if F2Rec.bMultiSelect then
begin
if F2Rec.lpsltRet1.Count=0 then
bFlag:=false
else
bFlag:=true;
end
else
begin
if F2Rec.strTrans1='' then
bFlag:=false
else
bFlag:=true;
end;
end;
fmF2Pattern.Free;
Result:=bFlag;
end;
调用如下
procedure TfmPattern.cxDBButtonEdit2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
var
F2rec:TF2rec;
begin
inherited;
F2rec.bMultiSelect:=false;
if F2Flower(F2rec) then
begin
editdataset(tblBase);
tblBasepflower.AsString:=F2rec.strTrans1;
end;
end;
处理完以后发现F2Rec中的lpsltRet1值传递回来了,strTrans1却没有,百思不得其解,望高手解答,不胜感激!
type
TF2Rec = record
Caption: string;
strTrans1: string; //单选时的返回值
strTrans2: string; //单选时的返回值
strTrans3: string; //单选时的返回值
strTrans4: string; //单选时的返回值
lpsltRet1:TStringList; //多选时的返回值
lpsltRet2:TStringList; //多选时的返回值
lpsltRet3:TStringList; //多选时的返回值
lpsltRet4:TStringList; //多选时的返回值
strKey: string; //起始值,用于过滤
strFilter: string; //用于特定条件过滤
bMultiSelect:boolean; //标志是否多选
end;调用一个FORM的入口函数:
function F2Pattern(var F2Rec:TF2Rec):boolean;
var
bFlag:boolean;
begin
bFlag:=false;
fmF2Pattern:=TfmF2Pattern.Create(application);
fmF2Pattern.m_F2Rec:=F2Rec;
if fmF2Pattern.ShowModal=mrOk then
begin
if F2Rec.bMultiSelect then
begin
if F2Rec.lpsltRet1.Count=0 then
bFlag:=false
else
bFlag:=true;
end
else
begin
if F2Rec.strTrans1='' then
bFlag:=false
else
bFlag:=true;
end;
end;
fmF2Pattern.Free;
Result:=bFlag;
end;
调用如下
procedure TfmPattern.cxDBButtonEdit2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
var
F2rec:TF2rec;
begin
inherited;
F2rec.bMultiSelect:=false;
if F2Flower(F2rec) then
begin
editdataset(tblBase);
tblBasepflower.AsString:=F2rec.strTrans1;
end;
end;
处理完以后发现F2Rec中的lpsltRet1值传递回来了,strTrans1却没有,百思不得其解,望高手解答,不胜感激!
解决方案 »
- 有多少人是自己给自己打工的?就是自己接业务干
- 紧急求援:谁有DELPHI5或7的Decision cube 2.0
- 关于拨号软件问题,急!~~
- 救命。。。现在有两台机器一台是中文操作系统一台是日文操作系统,
- 請教 DBGrid 怎樣使一行中的,一個字段的Font.Color 改變
- 散分!!顺便问个简单的问题
- 大富翁真的很奇怪,我有积分,但发不了贴,大家碰到过吗?
- 小数点国际化问题
- 我是琳琳,刚才提问有关音量问题的人。如果用一个TrackBar控制左右音道如何解决?
- 如何在开机时就禁止键盘,完全进入windows以后,再解开?
- 求反编译delphi的可执行程序,急用!!!
- 大家新年好:Delphi群组公开课,请进!
应该是:
Var SSS : TF2Rec ;
或
F2Rec := TF2Rec.Create( Self ); <----我没试过
TF2Rec = packed record
Caption: string[100];
strTrans1: string[100]; //单选时的返回值
strTrans2: string[100]; //单选时的返回值
strTrans3: string[100]; //单选时的返回值
strTrans4: string[100]; //单选时的返回值
lpsltRet1:TStringList; //多选时的返回值
lpsltRet2:TStringList; //多选时的返回值
lpsltRet3:TStringList; //多选时的返回值
lpsltRet4:TStringList; //多选时的返回值
strKey: string[100];//起始值,用于过滤
strFilter: string[100]; //用于特定条件过滤
bMultiSelect:boolean; //标志是否多选
end;
TPF2Rec=^TF2Rec;function F2Pattern(var F2Rec:TPF2Rec):boolean;
var
bFlag:boolean;
begin
bFlag:=false;
fmF2Pattern:=TfmF2Pattern.Create(nil);
fmF2Pattern.m_F2Rec:=F2Rec^;
if fmF2Pattern.ShowModal=mrOk then
begin
if F2Rec^.bMultiSelect then
begin
if F2Rec^.lpsltRet1.Count=0 then
bFlag:=false
else
bFlag:=true;
end
else
begin
if F2Rec^.strTrans1='' then
bFlag:=false
else
bFlag:=true;
end;
end;
fmF2Pattern.Free;
Result:=bFlag;
end;
var
F2rec:TF2rec;
begin
inherited;
F2rec.bMultiSelect:=false;
if F2Flower(@F2rec) then
begin
editdataset(tblBase);
tblBasepflower.AsString:=F2rec.strTrans1;
end;
end;