Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   64Bit - Wann nötig eine 64bit Version zuschreiben (https://www.delphipraxis.net/158269-64bit-wann-noetig-eine-64bit-version-zuschreiben.html)

NickelM 11. Feb 2011 02:02

Betriebssystem: Win XP,Win Vista,Win 7

64Bit - Wann nötig eine 64bit Version zuschreiben
 
Hey zusammen,
Ich habe schon kleine Programme geschrieben die auch unter 64bit sowieso 32bit System einwandfrei liefen.
Nur frag ich mich als Programmirer, wann es notwendig wäre wegen der Kompatibilität, eine 32bit Version sowie eine 64bit Version einer Anwendung zuschreiben. Und..benötige ich da einen bestimmten Compilier oder so?

P.S. : Ich hoffe die Frage ist nicht irgendwie dumm.:oops:

Luckie 11. Feb 2011 02:20

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Wenn man DLLs zum Beispiel in fremde 64-Bit Prozesse injizieren will. Ein Beispiel wäre da zum Beispiel Shell Erweiterungen für den Explorer. Oder ActiveX und COM Anwendungen. Oder um auf 64-Bit Prozesse zugreifen zu können (ReadMemory, ...). Auch vereinfacht ein 64-Bit Prozess den Zugriff auf die Registry und Systemordner eines 64-Bit Windows.

Und was heißt speziellen Compiler? Man braucht natürlich einen Compiler, der 64-Bit Code erstellen kann. FreePascal wäre ein möglicher Compiler.

Daniel 11. Feb 2011 02:22

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Gibt keine dummen Fragen. ;-)
64bit brauchst Du genau dann, wenn Du (a) in eine bestehende Infrastruktur rein willst, wie zum Beispiel in eine 64bit-Shell, für die Du eine Erweiterung schreiben möchtest, oder wenn Du 64bit-DLLs konsumieren möchtest, (b) wenn Du einen Service für ein 64bit-Windows schreiben musst oder (c) wenn Du am Stück mehr als 3 bzw. 4 GB RAM benötigst. Oder wenn der Kunde darauf besteht. ;-)
Es wird noch einige Jahre 32bit-Anwendungen geben, die von einer Portierung auf 64bit nicht unmittelbar profitieren werden und wie bisher hervorragend laufen werden. Die nächsten Windows-Versionen stehen noch lang nicht vor der Tür und es ist nicht davon auszugehen, dass Windows 8 den 32bit-Support einstellen wird.

Luckie 11. Feb 2011 02:27

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Zitat:

Zitat von Daniel (Beitrag 1080983)
und es ist nicht davon auszugehen, dass Windows 8 den 32bit-Support einstellen wird.

Frage am Rande: Unterstützt Windows 7 eigentlich noch 16-Bit Programme?

@Daniel zu a): Habe ich das nicht geschrieben gehabt oder meinst du was anderes?

Daniel 11. Feb 2011 02:36

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Doch, das hattest Du geschrieben, aber ich habe so schnell auf "Absenden" geklickt, dass die rote Box praktisch nicht zu sehen war. :stupid:

Und Windows 7 selbst kann offenbar keine 16bit-Anwendungen ausführen. Der "Trick" besteht dann darin, aus Windows 7 heraus den XP-Mode zu starten, der nichts anderes als eine VM mit Windows XP ist. Nach aktuellem Stand der Gerüchte soll Windows 8 schon Ende kommenden Jahres kommen. Es wäre Wahnsinn, dann schon 32bit-Anwendungen nicht mehr zu unterstützen. Bis dahin müsste sich z.B. auch Office in 64bit-Varianten durchsetzen.

Luckie 11. Feb 2011 02:44

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Zitat:

Zitat von Daniel (Beitrag 1080985)
Doch, das hattest Du geschrieben, aber ich habe so schnell auf "Absenden" geklickt, dass die rote Box praktisch nicht zu sehen war. :stupid:

Ah gut, OK.

Zitat:

Und Windows 7 selbst kann offenbar keine 16bit-Anwendungen ausführen. Der "Trick"
Stopp. Antworten sie nur mit Ja oder Nein. Tricks zählen nicht, denn mit Tricks kann ich bestimmt noch ein 8-Bit Programm auf Windows 23 ausführen. Dann hat MS also endlich seine Drohung war gemacht, was 16-Bit Unterstützung betrifft. Aber die API Funktionen, die noch für die 16-Bit Programm gebraucht wurden gibt es wahrscheinlich noch. Oder ist WinExec endlich verschwunden?
Zitat:

This function [WinExec] is provided only for compatibility with 16-bit Windows.

Daniel 11. Feb 2011 02:47

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Naja, wir werden es sehen.
Ich für meinen Teil bin jedenfalls zuversichtlich, mein Office 2007 auch noch mit Windows 8 verwenden zu können (ohne VM).

holliesoft 11. Feb 2011 03:55

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Zitat:

Zitat von Daniel (Beitrag 1080985)
Und Windows 7 selbst kann offenbar keine 16bit-Anwendungen ausführen.

Einspruch, Euer Ehren! :mrgreen:
Windows 7 32 bit kann sehr wohl noch 16bit Anwendungen ohne Tricks ausführen. Alle 64bit Windows Versionen dagegen nicht.

Bernhard Geyer 11. Feb 2011 07:34

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Einfach gesprochen: 64-Bit Windows bringt nur noch ein 32-Bit Windows-Subsystem mit aber kein 16-Bit Subsystem mehr (VM's außen vor).
Nur für die Serververionen ist das relevant da diese nur noch als 64-Bit Version angeboten werden. Für Client-OS hat man immer noch die Wahl zwischen 32-Bit oder 64-Bit OS.

Luckie 11. Feb 2011 10:57

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Zitat:

Zitat von holliesoft (Beitrag 1080989)
Alle 64bit Windows Versionen dagegen nicht.

Davon bin ich ausgegangen.

Insider2004 11. Feb 2011 11:17

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Zitat:

Zitat von NickelM (Beitrag 1080980)
Hey zusammen,
Ich habe schon kleine Programme geschrieben die auch unter 64bit sowieso 32bit System einwandfrei liefen.
Nur frag ich mich als Programmirer, wann es notwendig wäre wegen der Kompatibilität, eine 32bit Version sowie eine 64bit Version einer Anwendung zuschreiben. Und..benötige ich da einen bestimmten Compilier oder so?

P.S. : Ich hoffe die Frage ist nicht irgendwie dumm.:oops:

Ein weiterer Grund für ein 64-bit OS und ein 64-bit-Delphi-Programm wäre, wenn Du mehr als 2 GB Speicher brauchst (z.B. 8/16/32 GB). Z.B. in Datenbanken, Spionage-Programmen und dergleichen, die sehr grosse Datenmengen verarbeiten müssen.

NickelM 11. Feb 2011 23:02

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
okay also wenn ich nur eine Anwendung schreibe mit z.b. Dateien lesen, Registry schreiben brauch ich keine 64Bit version machen.

Danke für die Hilfe. Werd ich mir merken, falls ich mal eine Service oder so schreiben sollte xD

wicht 11. Feb 2011 23:24

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Ich weiß ja nicht, ob es geläufig ist, in einem Windows-Dienst irgendwelche Funktionen zu benutzen, wo es Probleme mit einem 32-Bit-Programm unter einem 64-Bit-OS gibt, aber meine Dienste laufen alle 1A unter 32/64-Bit, obwohl sie für 32-Bit gebaut worden sind... Du müsstest dir also IMHO erst ernsthafte Gedanken machen, wenn 32-Bit nicht mehr von Windows unterstützt wird oder du einen Treiber bauen möchtest. Aber letzteres macht man normalerweise nicht mit Delphi.

Luckie 12. Feb 2011 00:49

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Zitat:

Zitat von NickelM (Beitrag 1081158)
okay also wenn ich nur eine Anwendung schreibe mit z.b. Dateien lesen, Registry schreiben brauch ich keine 64Bit version machen.

Kommt drauf an wo in die Registry. Man kann zwar auch mit 32-Bit Prozessen in die 64-Bit Systemschlüssel schreiben, ist aber nicht so schön.

cookie22 12. Feb 2011 06:33

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Keine Ahnung ob es zu 100% hier rein passt, aber wenn man auf biegen und brechen mit 64Bit Prozessen kommunizieren muss, geht das mit diesem Teil.

Delphi32 to 64-bit bridge

Das erspart einem vielleicht das portieren in eine andere Sprache.

Delphi-Laie 12. Feb 2011 09:52

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Zitat:

Zitat von NickelM (Beitrag 1080980)
Nur frag ich mich als Programmirer, wann es notwendig wäre wegen der Kompatibilität, eine 32bit Version sowie eine 64bit Version einer Anwendung zuschreiben.

Kann ich aus meiner Erfahrung zwei Fälle aufführen: 64-Bit-Programme benötigt man (logischerweise nur unter 64-Bit-Betriebsprogrammen) zum einen für globale Hooks, zum anderen, wenn man in die "Systemprozesse" (keine exakte, dennoch aber, so hoffe ich, verständliche Bezeichnung) eingreifen möchte, so z.B. Anzeigen derer Module, Verändern derer Priorität und Prozessorzuweisungen, Beenden (auch deren Threads) u.ä. . In beiden Fällen wich ich wegen des Fehlens eines 64-Bit-Delphis auf FPC/Lazarus um - mit nicht gänzlich überzeugenden, aber grundsätzlich funktionerenden Resultaten (Compilaten).

Zitat:

Zitat von NickelM (Beitrag 1080980)
Und..benötige ich da einen bestimmten Compilier oder so?

Ist die Frage ernstgemeint?

Zitat:

Zitat von NickelM (Beitrag 1080980)
P.S. : Ich hoffe die Frage ist nicht irgendwie dumm.:oops:

Naja...nach 269 Beiträgen und als Nutzer des Delphis 2009 Professional, wie Du es hier angibst, irritiert (mich) solch eine Frage.

himitsu 12. Feb 2011 10:21

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Manchmal ist es auch unnötig/ungünstig, wenn man 64 Bit zur Verfügung hat.

So wie es aussieht, braucht ein PHP-Programm in einem 64 Bit Apache/PHP-Modul viel mehr Seicher. Oder es liegt sogar am 64 Bit OS.
Jedenfalls merk ich das grade, daß WordPress auf einem 64 Bit Server wesentlich mehr Speicher belegt.
(anscheinend weiß aber noch keiner genau woran es liegt ... vielleicht ist da auch nur irgendwo etwas schlecht/optimiert :stupid: )

Bernhard Geyer 12. Feb 2011 10:43

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Zitat:

Zitat von himitsu (Beitrag 1081195)
Manchmal ist es auch unnötig/ungünstig, wenn man 64 Bit zur Verfügung hat.

So wie es aussieht, braucht ein PHP-Programm in einem 64 Bit Apache/PHP-Modul viel mehr Seicher. Oder es liegt sogar am 64 Bit OS.

Definiere "viel mehr Speicher"? Da jede Referenz/Zeit im Programm jetzt statt 4 Byte 8 Byte benötigt ist es nicht zu vermeiden mehr Speicher zu benötigen.
Je nach Programm wird sich das u.U. stark auf den benötigten Speicherplatz auswirken.

Delphi-Laie 12. Feb 2011 12:26

AW: 64Bit - Wann nötig eine 64bit Version zuschreiben
 
Zitat:

Zitat von Luckie (Beitrag 1080984)
Zitat:

Zitat von Daniel (Beitrag 1080983)
und es ist nicht davon auszugehen, dass Windows 8 den 32bit-Support einstellen wird.

Frage am Rande: Unterstützt Windows 7 eigentlich noch 16-Bit Programme?

Die 64-Bit-Version nicht. Die 32-Bit-Version - vermutlich - ja. Soweit ich das bisher beobachtete, wurde bisher immer "eine Bittigkeit tiefer" (also die halbe Bitanzahl) von Windows noch unterstützt. Allerdings hält sich die Abwärtskompatibilität dennoch in Grenzen: Die Unterstützung für Windows-Programme<3.0 (die sind ja alle 16 Bit) wurde irgendwann auf Windows 32 Bit (ab 2000?) fallengelassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 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