![]() |
Hallo,
och mann..... :lol:
Code:
so, das ganze ist aber ungetestet, F1 ist aber dein Freind ;-)
procedure TForm1.CheckBox1Click(Sender: TObject);
var //pos: TBookmark; // Lesezeichen id : Integer; begin //pos:= Query1.GetBookmark; // Position merken id :=Query1Feld1.AsInteger; // wenn du z.B. ein Feld mit einem Qunique-ID Index hast Query1.Active:= false; Grid.Visible :=False; Application.ProcessMessages; Grid1.Datasource :=nil; Application.ProcessMessages; try if CheckBox1.Checked= true then Query1.RequestLive := false //sperren else Query1.RequestLive := true; // Sperre aufheben Query1.Active:= true; finally //Query1.GotoBookmark(pos); // Position wiederherstellen Grid1.Datasource :=Query1DS; // oder wi auch immer das Dataset heißt ;-) Grid1.Visible :=True; try query1.locate ('FELD1',Variant(id),[]); // Position wiederherstellen except // hier Fehlermeldung end; end; end; Gruß Neo, der jetzt essen geht :wink: , mist dafür gibt es keinen Smiley ! |
Ich hab mal ne ganz neue Form basierend auf der Tabelle gemacht und der Fehler ist weg. Wer weiß warum...
@Neo: Vielen Dank für deine Mühe. Könntest du mir noch sagen, wie und wo genau ich die Free Methode anwenden muss? Gruß Gambit |
Hallo,
hier mal ein Codeschnipsel von mir ...
Code:
Noch ein le. Tip, du solltest dich unbedingt mit Schutzblöcken
procedure TMakeEKReForm.PosTabAfterDelete(DataSet: TDataSet);
var bm : tBookmark; p : Integer; begin PosTab.DisableControls; BM :=PosTab.GetBookmark; try p :=0; postab.first; while not postab.eof do begin inc(p); postab.edit; try postabposition.asinteger :=p; postab.post; except // Hier Fehlermeldung end; postab.next; end; PosTab.GotoBookmark (BM); finally PosTab.FreeBookmark (BM); end; PosTab.EnableControls; end; - try finally end - try except end mal auseinandersetzen, so was ist sehr wichtig, wenn man guten Code schreiben will. Gruß Neo |
also Try except ist mir aus Java, was wir in der Schule, lernen gut bekannt. Was Try Finally angeht, das kenn ich noch nicht, werde aber deinen Rat befolgen und mich damit beschäftigen.
Und wahrscheinlich muss man alle Komponenten vom Typ Pointer wieder freigeben? Also wie in C++? Oder schmeiß ich da nu wieder was durcheinander? Gruß Gambit |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz