![]() |
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Zitat:
|
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Dafür gibt es eine Chance, dass die Bugs irgendwann behoben werden oder sogar schon behoben wurden, was bei alten Delphis nicht der Fall ist. :zwinker:
Zitat:
Strg+C in Delphi-Dialogen und dann hier Strg+V funktioniert gut. Delphi kopiert bei Dialogen den Inhalt als Text in die Zwischenablage. Zugriffsverletzung bei Adresse 00000xx -> irgendwas ist NIL (0 + Offset innerhalb des Objekts) Zugriffsverletzung bei Adresse xxxxxxx -> Zeiger ist womöglich ungültig Bei Ersterem hier
Delphi-Quellcode:
nachsehn ob die variable "SubMenu" NIL ist, was darauf deuten könnte, dass es dieses Objekt in der DFM nicht gibt, mit genau diesem Namen (Groß-/Kleinschreibung ist egal).
SubMenu.Visible:=false;
Da kein Anfänger, noch 'ne Info: TComponent schreibt in seinen Owner seine Referenz rein, wenn es dort ein Published-Feld mit seinem Namen findet. > Beim Erstellen (zuweisen des Owner), bei Namensänderung und beim Freigeben. Der Typ dieser Felder muß passen, da diese "uralten" Funktionen nicht auf den Typ achten, also wäre dieses Feld nur ein Byte, statt einem TObjekt, dann gäbe es einen Bufferoverflow. |
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Zitat:
Es ist nachwievor extrem selten, das die IDE oder der Compiler von Delphi 7 rumzicken. Meist sind das dann Fehler vom Anwender. Bitte sei so gut, und akzeptiere, dass andere Programmierer andere Delphiversionen nutzen als Du. Delphi 7 war bisher wohl eine der besten Entwicklungsumgebungen. Es funktioniert einfach problemlos. Abgesehen davon kann man aus dem Alter der genutzten Delphiversion nicht auf den "Befähigungsstatus" des Nutzers schließen. Ja, wir alten Säcke sind mit 'ner guten Entwicklungsumgebung zufrieden, auch wenn sie, so wie wir, schon etwas betagt ist. @himitsu Die Qualität der Fehlerbehebung kann man ja momentan in 'nem anderen Thread "genüsslich" verfolgen ;-) (ironisch gemeint) Zum Thema: Nach dem Close wird nochmal Formresize aufgerufen. Dort erfolgt ein Zugriff auf SubMenu, dass zu diesem Zeitpunkt bereits nicht mehr existiert. |
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Liste der Anhänge anzeigen (Anzahl: 1)
P.P.S.
Ups, beim Beispiel liegt die MainForm noch auf dem zweiten Bildschirm, so dass man sie mit einem Bildschirm allein nicht sieht. Anbei das Beispiel mit der Form auf dem Hauptbildschirm. |
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Zitat:
![]() und siehe der letzte Absatz hier in Kommentar #12. |
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Zitat:
Also: Resize wird auch noch aufgerufen, wenn schon Teile des Formulars irgendwo im Nirwana entsorgt wurden.
Delphi-Quellcode:
Wenn das, was im OnResize steht, benötigt wird, das in eine eigene Prozedure packen und diese dann im OnResize aufrufen.
procedure TForm1.KillButtonClick(Sender: TObject);
begin SubMenu.Visible := false; Self.OnResize := Nil; Close; end; Wobei: Sollten im Resize tatsächlich Routinen sein, die zwingend beim Programmende aufgerufen werden müssen, erlaube ich mir die Frage, ob sie dann im Resize wirklich richtig aufgehoben sind. |
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Zitat:
Zitat:
Zitat:
Lazarus/FPC macht den Quatsch übrigens nicht. Derselbe Code in Lazarus läuft anstandslos. Grund: Lazarus löst bei Programmende keinen OnResize aus, hab ich gerade getestet. Leider kann man während der Compilierung mit Lazarus Kaffee trinken gehen. |
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Wenn man im OnResize auf Assigned für Menu1, SubMenu oder MainMenu1 abfragt, so scheint es sie alle noch zu geben. Da scheinen aber Anschein und Realität voneinander abzuweichen.
Dem Formular einfach noch ein OnClose-Ereignis zuweisen und dort das OnResize auf Nil setzen. Das dürft dann auch mit Lazarus funktionieren und man muss nicht vor jedem Close im Programm (sofern es mehrere geben sollte) ein
Delphi-Quellcode:
reinpacken.
Self.OnResize := Nil;
|
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Oder man löst es sauber... ;-)
Delphi-Quellcode:
// EDIT:
procedure TForm1.FormResize(Sender: TObject);
begin if not (csDestroying in ComponentState) then SubMenu.Visible := true; end; Zitat:
|
AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
Zitat:
Vielleicht programmiere ich ja nur einfach zu wenig "exotisch", so dass es weitgehend problemlos funktioniert 8-) Ok, bei komplexen Projekten, mit vielen eingebundenen Units, wie z. B. JVCL, Pascalscript, SynEdit, ..., mag der Debugger mir grundsätzlich keine Variabelinhalte anzeigen und die Auswahlbox für die Vervollständigung von Klassen liegt dann ab und an auchschonmal vollkommen "daneben" ... Das ist schon alles sehr ärgerlich. Und Änderungen an den Kompilerschaltern haben das keine "positive" Auswirkung. Aber im Großen und Ganzen bin ich nachwievor zufrieden :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz