Entwickler-Ecke
Programmierwerkzeuge - Große Probleme nach Laden meines Programmes in Delphi 2007
The_Unknown - Mo 21.05.07 11:56
Titel: Große Probleme nach Laden meines Programmes in Delphi 2007
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 :o 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
The_Unknown - Di 22.05.07 14:23
Ich habe nochmal weiter rechrechiert und siehe da: Unter Windows XP geht es.
Kann es sein, dass es am 64 Bit bzw. Windows Vista liegt ?
Weil ich nutze Windows Vista x64.
baka0815 - Mo 01.10.12 11:44
Dasselbe Problem habe ich hier auch "manchmal".
Wenn ich ein Word-Dokument mit ShellExecute öffne (entweder direkt das Word-Dokument oder Word als Programm und das Dokument als Parameter), dann kommt eine externe Exception und dann kann ich Delphi (2007) neu starten.
Wenn ich Word jedoch per CreateProcess öffne, dann funktioniert das problemlos.
Bin auch für jeden Rat dankbar. So weiß ich nicht, ob ich ShellExecute noch vertrauen kann...
Andreas L. - Mo 01.10.12 16:39
Versuch mal Delphi mit Admin-Rechten zu starten. Tritt der Fehler dann immer noch auf?
baka0815 - Di 02.10.12 09:32
Japp, es kommt weiterhin die externe Exception.
Martok - Di 02.10.12 14:11
Hi,
Und was passiert wenn du korrekt auf PAnsiChar castest? Oder PWideChar, und ShellExecuteW verwendest?
Grüße,
Martok
Rocketeer - Fr 05.10.12 10:42
Würde mich auch mal interessieren, ob es mit ShellExecuteW funzt... Und was war mit der Theorie, es könne an Vista liegen? Das wäre echt großer Mist, da auch ich Vista benutze... das kann aber im Grunde doch nicht sein, oder? Komplette Inkompatibilität?!?
Wäre dankbar für Antworten
Gruß
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!