Autor Beitrag
The_Unknown
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 16



BeitragVerfasst: Mo 21.05.07 11:56 
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:
ausblenden 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:
ausblenden 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 user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 01.10.2012 um 13:22

_________________
Ciao The_Unknown
The_Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 16



BeitragVerfasst: 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.

_________________
Ciao The_Unknown
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Mo 01.10.12 16:39 
Versuch mal Delphi mit Admin-Rechten zu starten. Tritt der Fehler dann immer noch auf?
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Di 02.10.12 09:32 
Japp, es kommt weiterhin die externe Exception.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Di 02.10.12 14:11 
Hi,

Und was passiert wenn du korrekt auf PAnsiChar castest? Oder PWideChar, und ShellExecuteW verwendest?

Grüße,
Martok

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Rocketeer
Hält's aus hier
Beiträge: 8



BeitragVerfasst: 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ß