... 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