Hallo,
ich habe eine kleine Delphi 6.0 Application mit einer Access97 Datenbank zur Datenhaltung unter
Windows Me programmiert. In dieser Anwendung habe ich ein Formular entwickelt, dass per Projektoptionen automatisch beim Starten des Programms erst einmal erzeugt wird. Wenn nun im Startformular dieses Formular angezeigt werden soll, erhält dieses Formular (Klasseninstanz) ein Von- und ein Bis-Datum und wird anschließend mit der Methode .ShowModal zur anzeige gebracht! Bei der Anzeige des Formulars werden nun abhängig vom definierten Zeitraum in einer TScrollBox-Komponente eine bestimmten Anzahl an TListBox-Komponenten dynamisch mit der Anweisung:
LB_MP:=TListBox.Create(SB_MP);
erzeugt. SB_MP ist dabei die TScrollBox-Komponente! Ich nutze dabei die Standartkomponenten von Delphi aus der Unit StdCtrls der VCL.
Nun zu meinem Problem:
-------------------------------
Wenn nun ein sehr langer Zeitraum angegeben wird und dies zwangsweise auch bedeutet, dass auch mehr TListBox-Komponenten zur Laufzeit erzeugt werden müssen, bricht die Routine, die für die Erzeugung der TListBox-Komponenten zuständig ist mit der Fehlermeldung "A call to an OS function failed" ab. Diese tut sie genau an der Stelle, an der eine TListBox-Komponente erzeugt werden soll. Meine Vermutung ist, das es einfach etwas mit der Speicherreservierung für die Komponenten zu tun hat, aber ich habe bisher noch keine Lösung für dieses Problem gefunden.
Dieser Fehler tritt aber auch auf, und das ist ganz einfach zum testen, wenn Ihr:
Eine neue Anwendung in Delphi erzeugt und gleich im Startformular so ca. 155 TListBox-Komponenten zum Entwurfszeitpunkt anlegt, dann bringt Delphi genau die gleiche Meldung!
Hinweis:
-----------
Ich habe die gleiche Applikation auch mal unter Windows 2000 compilieren und starten lassen.
Dort tritt dieser Fehler NICHT auf!
Vielleicht könnte es auch nur eine Einstellungssache des Projektes sein?
Über Tips, Vorschläge oder ähnliche Anregungen wäre ich sehr dankbar!
