我收到编译器错误“[DCC Error] FormMain.pas(78): E2029 '.' 预期但';' 找到”但我看不出哪里有问题是因为我直接从http://blog.marcocantu.com/blog/xe5_anonymous_showmodal_android.html复制了这个 我使用这种代码:
procedure TForm1.ButtonMuutaClick(Sender: TObject);
var FormTiedot :TFormTiedot;
begin
FDQuery1.SQL.Clear;
FDQuery1.SQL.Add('SELECT * FROM Laskuttaja WHERE ID=:ID');
FDQuery1.ParamByName('ID').AsString := '1';
FDQuery1.Open();
FDQuery1.First;
FormTiedot := TFormTiedot.Create(nil);
while(not FDQuery1.Eof) do begin
FormTiedot.EditNimi.Text := FDQuery1.FieldByName('Nimi').AsString;
FormTiedot.EditOsoite.Text := FDQuery1.FieldByName('Osoite').AsString;
FormTiedot.EditY.Text := FDQuery1.FieldByName('Ytunnus').AsString;
FDQuery1.Next;
end;
FormTiedot.ShowModal(procedure(ModalResult: TModalResult) begin if ModalResult = mrOK then begin
// if OK was pressed and an item is selected, pick it
FDQuery1.SQL.Clear;
FDQuery1.SQL.Add('UPDATE Laskuttaja SET Nimi = '+QuotedStr(FormTiedot.EditNimi.Text)+', Osoite = ' + QuotedStr(FormTiedot.EditOsoite.Text) + ', Ytunnus=' + QuotedStr(FormTiedot.EditY.Text));
FDQuery1.SQL.Add('WHERE ID=1');
FDQuery1.ExecSQL;
end;
FormTiedot.DisposeOf;
end);
//FormTiedot.DisposeOf;
//if FormTiedot.ShowModal = mrOk then begin
//FDQuery1.SQL.Clear;
// FDQuery1.SQL.Add('UPDATE Laskuttaja SET Nimi = '+QuotedStr(FormTiedot.EditNimi.Text)+', Osoite = ' + QuotedStr(FormTiedot.EditOsoite.Text) + ', Ytunnus=' + QuotedStr(FormTiedot.EditY.Text));
// FDQuery1.SQL.Add('WHERE ID=1');
//FDQuery1.ParamByName('Nimi').Value := FormTiedot.EditNimi.Text;
//FDQuery1.ParamByName('Osoite').Value := FormTiedot.EditOsoite.Text;
//Error Y-tunnus not found here
//FDQuery1.ParamByName('Ytunnus').Value := FormTiedot.Edit1.Text;
end;
end;