Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   32bit CODE auf 64bit Server WIN 2013 (https://www.delphipraxis.net/185841-32bit-code-auf-64bit-server-win-2013-a.html)

wschrabi 10. Jul 2015 13:35

32bit CODE auf 64bit Server WIN 2013
 
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.
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. Ich denke es liegt daran, dass es ein 32bit code ist. AUch habe ich schon den Owner des APache servers als User, mit dem ich eingelogt bin, definiert. Daran kann es nicht liegen. Auf einem alten WIN 2003 32bit SErver klappt es wunderbar. Wie kann man jetzt das 32BIt Prg von einen PHP script auch auf einem 64bit PC ausführen? Irgendwie mit WOW64 , dem Emulator? 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.
Weiß jemad einen Rat?
Danke

Assarbad 9. Sep 2016 09:31

AW: 32bit CODE auf 64bit Server WIN 2013
 
Zitat:

Zitat von wschrabi (Beitrag 1308321)
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.

Zitat:

Zitat von wschrabi (Beitrag 1308321)
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?

Zitat:

Zitat von wschrabi (Beitrag 1308321)
Ich denke es liegt daran, dass es ein 32bit code ist.

Das widerspricht deiner eigenen Aussage eingangs.

Zitat:

Zitat von wschrabi (Beitrag 1308321)
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).

Zitat:

Zitat von wschrabi (Beitrag 1308321)
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"?

wschrabi 9. Sep 2016 09:51

AW: 32bit CODE auf 64bit Server WIN 2013
 
danke Dir herzlichst. Ich habe jetzt das Prg mit 64bit kompiliert bzw mir auch das DLL für 64bit besorgt. Jetzt klappt es ohne Probleme. Weiß wirklich nicht woran es gelegen hat. Naja egal, danke Dir aber für deine Antwort. :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz