Thema: Delphi Stack Überlauf fehler

Einzelnen Beitrag anzeigen

Drumbo

Registriert seit: 18. Okt 2013
22 Beiträge
 
#1

Stack Überlauf fehler

  Alt 1. Dez 2013, 10:56
Datenbank: SQL Server 2012 • Version: 11 • Zugriff über: XE 3
Guten Morgen,

ich habe vor, dass in meinem DBGrid sobald sich irgendwas in diesem Tut, eine Prozedure aufgerufen wird.
Diese Procedure greift auf die mit dem DBGrid verknüpfte Datenbank zu und durchläuft diese.
Es soll geguckt werden, ob in dem speziellen Datensatz der Artikel bestellt ist oder nicht. In der Datenbank wird existiert dafür ein Boolisches Feld. Die Prozedur sieht wir folgt aus:
Delphi-Quellcode:
procedure TAuftrag_form.BestellbtnCreate();
var
i:integer;
begin

   i:=1;
   Ersatzteil_Dataset.First;
while not Ersatzteil_Dataset.Eof do
  begin

    if Ersatzteil_DatasetBestellt.Value=True then
    begin
      DBAdvGrid4.RemoveButton(7,DBAdvGrid4.Row);
    end;
     Ersatzteil_Dataset.Next;
  end;

 Ersatzteil_Dataset.first;

while not Ersatzteil_Dataset.Eof do
  begin

  if Ersatzteil_DatasetBestellt.Value=False then
    begin
      DBAdvGrid4.AddButton(7,DBAdvGrid4.Row,50,15,'Bestellen',TCellHAlign(2),TCellVAlign(2));
    end;
  Ersatzteil_Dataset.Next;
  end;

end;
Da sich die Daten in dem Grid ändern und somit evtl. auch der Bestell Status muss immer erst geschaut werden ob der Button gezeichnet werden muss oder eben nicht.

Wen ich mir die Prozedur auf einen Knopf lege ist alles inordnung.
Möchte ich allerdings diese Prozedur in der Datasource beim OnChange aufrufen stürzt das Programm immer ab und gibt die Meldung "Stack Überlauf".
Ich könnte mir vorstellen, dass die Datasource noch nicht bereit ist oder noch irgendwelche Aufgaben erledigen muss aber wie kann ich Abfragen ob dem so ist?
Bzw. wie kann ich generell dieses Problem lösen?
Gruß Chris
  Mit Zitat antworten Zitat