![]() |
Delphi 2005 Personal - AV bei AltGr mit MainMenu
Hi,
Ein Problem, bei dem mit Google nicht helfen will, da ich damit nur Infos über den IDE-Bug finde, welcher mich jedoch nicht betrifft. Wenn ich unter Delphi 2005 Alt Gr drücke, passiert nichts besonderes. Mein Problem: Dieser Bug existiert zwar nicht in der IDE, jedoch in fast allen meiner Programme. Nachdem ich ihn gerade eben entdeckt habe, finde ich ihn wirklich bei den meisten mit D2005 entwickelten Programmen. Daher habe ich mich auif Fehlersuche begeben: 1. Ich habe ein neues Programm eratellt, das Form leer gelassen und gestartet. Alt Gr funktioniert problemlos. 2. Ich habe ein MainMenu auf das Form gelegt und erneut gestartet Alt Gr führt zur AV. 3. Mit CPU-Fenster und F7 habe ich den Fehler gesucht. In einer Funktion namens IsAltGrPressed wird GetAltGrStatus aufgerufen, wo etwas aus der Registry gelesen wird, dann eine DLL geladen, und GetProcAdress liefert nil (000000) zurück. Daher schlägt "call ebx" fehl (vorher wird der Rückgabewert von eax in ebx kopiert). Da ich D2005 Personal habe, sieht es hier schlecht aus mit Updates. Ich möchte jedoch unbedingt diese Exception vermeiden, da sie daran hindert, in meinem Programm \[]{}²³ einzugeben. Eigenartigerweise kommt sie nicht in allen Fällen, bei FAlterWriter und FAF-Basic kann ich Alt Gr drücken, sonst wäre mir das schon früher aufgefallen. Mfg FAlter //ebx natürlich, nicht ebc (komisches Register) //Tag-Klammer korrigiert ({ statt [ verwendet) |
Re: Delphi 2005 Personal - AV bei AltGr mit MainMenu
und wenn du einfach mal einen Haltepunkt setzt und schaust warum bei dem einen Spiel keine Exception kommt? Zudem könntest du auch mit "Assigned" prüfen ob der Rückgabewert von GetProcAddress ungleich nil ist.
|
Re: Delphi 2005 Personal - AV bei AltGr mit MainMenu
Da Du eine Personal hast, würde ich empfehlen, diese in die Tonne zu treten und das kostenlose Turbo Delphi 2006 zu nehmen. Das ist ein *wenig* besser. Wenn Du mit einer vernünftigen IDE arbeiten willst, dann bleibt Dir nur Delphi 6 oder 7.
|
Re: Delphi 2005 Personal - AV bei AltGr mit MainMenu
Hi,
Zitat:
Zitat:
Notnagel wäre natürlich wie bei allen Exceptions ein Application.OnException:
Delphi-Quellcode:
aber schön ist das nicht und außerdem werden damit alle AVs ignoriert, auch die ohne Alt Gr auftretenden.
begin
if not (E is EAccessViolation) then begin MessageBox(Handle, PChar(E.Message), PChar(String(E.ClassName)), MB_OK or MB_ICONEXCLAMATION); //oder Application.ShowException(E); end; end; Daher suche ich eben nach einer eleganten, möglichst weniger aufwändigen Lösung als ein Upgrade nach TurboExplorer. Mfg FAlter PS: Delphi 6 UP2 ist auch keine vernünftige Lösung, da kommt bei ImageLists, wenn man deren Inhalt per Designer (Doppelklick) generiert, und das Programm dann unter Windows 98 ausführt, eine 'Allgemeine Schutzverletzung' in der KERNEL32.DLL. //Nachtrag: Wenn man die AV per Application.OnException ignoriert, so kann man auch nicht mehr über Alt Gr + Taste Sonderzeichen eingeben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 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