Zitat von
Ghostwalker:
Z
Zu 2.
Kann ich so nicht nachvollziehen.
Ein Aufruf von Showmessage z.B. vor dem Create der MainForm in einem Programm läuft einwandfrei.
[
Zu diesem Zeitpunkt gibts noch kein Fenster in dessen Context das Ablaufen könnte.
Ich vermute, das das Problem eher an TErgebnisDruck liegt (bzw. an den Übergebenen Parametern). Aber ohne nähere Informationen kann man da schlecht was sagen.
Das ist der Kontext, welcher den Fehler erzeugt:
Delphi-Quellcode:
constructor TErgebnisDruck.Create(VirtualTable: TVirtualTable; aGRid : TDBAdvGrid);
begin
DruckTable := VirtualTable;
Grid := aGrid;
Ctrl := TCtrlADVGridTable.Create(DruckTable,Grid);
size := Data.GetParamString('ERGEBNISGrid');
showmessage('Delphi');
end;
Hier erfolgt der Aufruf, welcher den Fehler auslöst :
Delphi-Quellcode:
procedure TFrmErgList.FormCreate(Sender: TObject);
begin
isInit := true;
ErgDruck := TErgebnisDruck.Create(VirtualTableErg, DBAdvGridErg);
Das anzuzeigende Fenster wird aus dem Hauptmenü des Programmes aktiviert.
Der Fehler kommt auch, wenn Tools, wie z.B. IBObjects, Fehlermeldungen ausgeben wollen.
Im Construktor eines nachfolgenden Fensters z.B. SELEKT * ... Der Syntaxfehler Select
bringt das Fehlerbild.
Unter Vorgängerversionen von D2007, hat der Code fehlerfrei funktioniert.
Beispiel Anlage
Zum Debugger.
Nehme ich den Zugriff auf das Verzeichnis SYSTEM weg, dann kommt beim Debuggen die Meldung
"Verzeichnis nicht gefunden" und er steppt durch unbekannten Code. (Bild2)
Peter