Einzelnen Beitrag anzeigen

mariusbenz

Registriert seit: 6. Mär 2015
38 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: TFileOpenDialog fürht zu kuriosem DBGrid-Verhalten

  Alt 21. Jul 2016, 07:56
Danke ConnorMcLeod, die Funktion Locate war die, die meinem Arbeitskollegen nicht mehr eingefallen war, weshalb ich den Umweg über die Bookmarks gemacht habe. Sieht deutlich schöner aus mit dem Locate.

Code:
procedure TfrmMain.BtnDateiZuPosClick(Sender: TObject);
  var sTemp : String;
      LetzteID : Integer;
  begin
    if Sender = TObject(BtnOrdnerZuPos) then FODDateiPos.Options:= [fdoPickFolders]
    else if Sender = TObject(BtnDateiZuPos) then FODDateiPos.Options:= [];
    // In DB schreiben
    if FODDateiPos.Execute then
      begin
        sTemp:= FODDateiPos.FileName;
        SetSQLAndExecute(AdsQryMFA, 'UPDATE RLS_Detail ' +
                                    'SET Datei = ' + QuotedStr(sTemp) + ' ' +
                                    'WHERE ID = ' + AdsQuePosition.FieldByName('ID').AsString);
        LetzteID:= AdsQuePosition.FieldByName('ID').AsInteger;
      end;
    // Aktualisieren
    AdsQuePosition.Refresh;
    Application.ProcessMessages;
    AdsQuePosition.Locate('ID', LetzteID, []);

    LblHyperlink.Caption:= AdsQuePosition.FieldByName('Datei').AsString;
  end;
Richtig funktioniert hat es allerdings erst, nachdem ich nach dem Refresh noch ein ProcessMessages mache. Dadurch kann ich mir auch den ******* Timer sparen.
  Mit Zitat antworten Zitat