保存字符串时出错。错误是: prject prKlanten.exe使用消息'invalid argument'引发了exeption类EVariantInvalidArgError。
var
fmOrder: TfmOrder;
orderid: string;
implementation
{$R *.dfm}
uses unDm, unInloggen, unKlant, unKeuze, unbeheer, unAccount, unOrderChange;
procedure TfmOrder.btOpslaanOClick(Sender: TObject);
begin
dm.atOrder.open;
dm.atOrder.Append;
dm.atOrder ['OrderStatus'] := ('Aangemeld');
dm.atOrder ['klantID'] := fminloggen.userid;
dm.atOrder ['OrderDatum'] := leOphaalDatum.text;
dm.atOrder ['Opmerkingen'] := leOpmerkingen.text;
fminloggen.userid := dm.atOrder ['KlantID'];
dm.atOrder ['OrderID'] := fmOrder.orderid ;
dm.atOrder.post;
fmOrderChange.ShowModal;
end;
end.
行:
dm.atOrder ['OrderID'] := fmOrder.orderid ;
给出错误。我拼写了一切正确的fminloggen.userid确实有效。
有谁知道问题所在。
提前感谢!
碧玉
我以另一种形式做了同样的事情:
public
var inlognaam : string;
userid : string;
end;
var
fmInloggen: TfmInloggen;
implementation
{$R *.dfm}
uses unKlant, unbeheer, unaccount, unKeuze,unDm;
procedure TfmInloggen.BTinloggenClick(Sender: TObject);
var Gevonden: boolean;
begin
dm.atInlog.open;
Gevonden := false;
while (not Gevonden) and (not dm.atInlog.eof) do
begin
if dm.atInlog['email'] = leUser.Text
then
begin
Gevonden := true ;
fminloggen.inlognaam := dm.atInlog['email'];
fminloggen.userid := dm.atInlog['KlantID'];
end
else
dm.atInlog.Next
end;
if Gevonden and (dm.atInlog['Password'] = lePassword.text)
then
if dm.atInlog['Autorisatie'] = '1'
then
begin
fmKlant.Caption := dm.atInlog['email'];
fmKeuze.ShowModal;
end
else if dm.atInlog['Autorisatie'] = '2'
then
begin
fmKlant.Caption := dm.atInlog['email'];
fmBeheer.ShowModal;
end;
dm.atInlog.Close;
end;
除了这是用户ID
答案 0 :(得分:2)
在您的工作示例中,您有:
public
var inlognaam : string;
userid : string;
end;
由此假设它们都是表单声明中的字段。
在你的非工作范例中,你有:
var
fmOrder: TfmOrder;
orderid: string;
fmOrder似乎是IDE生成的表单实例变量。如果orderid跟随,则它不能是表单声明的字段。
您确定在TfmOrder表单声明中将orderid声明为字段吗?正如你在@ BugFinder的回答中所说,你无法插入myStringVar := fmOrder.orderId;
行,我怀疑你得到了一个编译器错误,这很可能是因为orderId不是fmOrder的成员字段... < / p>
答案 1 :(得分:1)
你确定fmOrder这一点是无效的吗? 调试它,并按照通过,检查dm.atOrder ['OrderID']是否有效,以及fmOrder是否有效。它需要是两者中的一个。