Hallo,
ich habe ein Delphi 7 32 bit Programm programmiert, das ohne Probleme auf einem 64bit WIN SERVER 2013 lauft, wenn man es als User anklickt.
Windows Server 2013 kenne ich nicht. Wikipedia
auch nicht.
Doch wenn ich es von einen PHP Scritp von Apache aus mit EXEC starten will, wird das Prg zwar in die Taskliste aufgenommen doch es wird nicht executiert und bleibt mit 0 % CPU AUslastung in der Taskliste immer bestehen.
0% will nix heißen. Schonmal mit dem Process Explorer (der zeigt auch Callstacks an) oder mit dem Process Monitor von Sysinternals (Microsoft) nachgehakt?
Ich denke es liegt daran, dass es ein 32bit code ist.
Das widerspricht deiner eigenen Aussage eingangs.
Irgendwie mit WOW64 , dem Emulator?
Wenn es ein 32-bittiges Programm auf einem 64-bittigen Windows ist, passiert das ganz automatisch. Und wenn WOW64 nicht installiert ist, würde ich einen expliziten Fehler erwarten (es gibt einige Editionen von Windows Server wo es wohl nicht dabei ist).
Ich will nicht das Prg auf 64bit kompilieren, weil ich eine PDF-Merge
DLL auch verwende, die nur 32bit ist und auch die TEECHARTs LIbrary nur als 32bit vorliegen habe, die ebenfalls im Prg verwendet wird.
Wenn du das Programm von der Kommandozeile mit den selben Vorbedingungen ausführst (als der Benutzer von Apache, gleiches Arbeitsverzeichnis usw.) was kommt dann? Habe nämlich den Verdacht, daß die
DLL möglicherweise nicht gefunden wird. Wo genau liegt denn die
DLL und wo deine "Anwendung"?