AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Sperren: Exeption wenn auf letztem Datensatz
Thema durchsuchen
Ansicht
Themen-Optionen

Sperren: Exeption wenn auf letztem Datensatz

Ein Thema von Gambit · begonnen am 2. Jun 2003 · letzter Beitrag vom 3. Jun 2003
Antwort Antwort
Seite 2 von 2     12   
Neo2084

Registriert seit: 1. Mai 2003
Ort: Thüringen
35 Beiträge
 
Delphi 5 Professional
 
#11
  Alt 2. Jun 2003, 22:52
Hallo,

och mann.....

Code:
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;
so, das ganze ist aber ungetestet, F1 ist aber dein Freind

Gruß Neo, der jetzt essen geht , mist dafür gibt es keinen Smiley !
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#12
  Alt 3. Jun 2003, 09:27
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
  Mit Zitat antworten Zitat
Neo2084

Registriert seit: 1. Mai 2003
Ort: Thüringen
35 Beiträge
 
Delphi 5 Professional
 
#13
  Alt 3. Jun 2003, 09:49
Hallo,

hier mal ein Codeschnipsel von mir ...

Code:
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;
Noch ein le. Tip, du solltest dich unbedingt mit Schutzblöcken
- try finally end
- try except end
mal auseinandersetzen, so was ist sehr wichtig, wenn man guten Code schreiben will.

Gruß Neo
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#14
  Alt 3. Jun 2003, 11:28
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz