Einzelnen Beitrag anzeigen

franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Unter bestimmten Umständen kein Wert im Edit

  Alt 3. Apr 2019, 10:26
... und DBAccess1 ist den DB Kapslung da werden nur SQL Dinge behandelt(z.b. Eine Query zusammen gesetzt).
Und genau dadrin könnte der Fehler liegen.

In Neu wird also IsNew auf True gesetzt.
IsNew wird aber vor dem Aufruf von Neu abgefragt, bzw. der Aufruf von Neu erfolgt in Abhängigkeit des Wertes von IsNew.

Das erscheint mir jetzt nicht zwingend so ganz verständlich.

IsNew hat damit wohl immer den Wert des letzten Aufrufes von Neu bzw. Schreiben.

Wird also ein Satz geschrieben, so ist IsNew anschließend False. Soll nun ein Satz neu angelegt werden, so ist IsNew vor dem (gewünschten) Aufruf von Neu noch False und damit wird Neu nicht aufgerufen.

Der Debugger hat mit seiner Aussage also durchaus recht.

Die implementierte Logik erscheint mir überdenkungswürdig.
Das ist gerade das komische die Komponenten die ich zur Desingtime angelegt haben gehen alle, und das Porblem besteht schon vor if IsNew then ....
nämlich hier

Delphi-Quellcode:
For i:=0 To DBAccess1.Summen.Count-1 do
    Begin
      Edit:=FindComponent('Edit_S_'+IntToStr(DBAccess1.Summen.Items[i].GSID)) AS TNumberBox;
      if Assigned(Edit) then
      Begin
        DBAccess1.Summen.Items[i].Summe:=Edit.Value; <--- Hier ist der Wert 0 und z.b. 10 wie eingegeben
      End;
    End;
Hab ich vielleicht beim Create was falsche gemacht
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat