Hallo,
ich habe nun von Delphi 7 auf Delphi 2007 von CodeGear geupdated. Alle Komponenten sind nun korrekt installiert, es kommen keine Fehlermeldungen.
In meinem Projekt habe ich auf einem Label einen ShellExecute Aufruf:
Delphi-Quelltext
1:
| Shellexecute(Handle,'open',PChar(SrcDir+'docs\tutorial.html'),nil,nil,SW_SHOWMAXIMIZED); |
Ich habe das ganze kompiliert und bekam beim Klick auf das Label folgende Fehlermeldung:
Quelltext
1:
| Externe Exception EEFFACE. |
Wenn ich dann, wie unter gewohnt unter Delphi 7 nach einem Fehler, das ganze Projekt neu kompilieren lasse, damit ich wieder in die Designtime komme, hängt sich Delphi 2007 auf und ich muss es neustarten.
Und dann wurde es seltsam: Ich habe erst gedacht, dass es vielleicht an einem falschen Pfad-String liegt, der an Shellexecute übergeben wird. Deshalb habe ich SrcDir+'docs\tutorial.html' in ein Memo übergeben und dann den Inhalt des Memos als Pfad an Shellexecute übergeben.
Jetzt funktionierte plötzlich alles ! Die HTML wird korrekt geöffnet. Da habe ich dann also den Erstzustand wiederhergestellt und es ging

Ich merkte dann, dass das Memo immer noch auf der Form war (hatte ich vergessen). Dann löschte ich es. Und siehe da:
Externe Exception EEFFACE. Wenn ich allerdings wieder ein Memo auf die Form ziehe, gehts wieder.
Was ist da los ?
Weiß irgendjemand Rat ?
Ciao The_Unknown
Edit: Das Problem tritt, wie ich nun sehe, auch unter Delphi 7 auf (war mir nur nicht aufgefallen).
In der fertig kompilierten EXE geht es komischweise ohne Probleme. Nur aus der IDE heraus gibts Probleme. Und noch seltsamer: Wenn ich Statt SrcDir+'\docs...' einfach notepad.exe aufrufe, gehts auch aus der IDE heraus.
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 01.10.2012 um 13:22