Hallo!
Habe so 2-3 Tools geschrieben die auf 32Bit-Windows 7 zur Exe kompiliert wurden,
und dort auch tadellos laufen. Eines benutzt auch eine externe DLL 32bit.
Auf 64Bit-Windows starten die Tools mit Oberfläche usw. und sind auch zu bedienen,
aber führen ihre eigentliche Funktion nicht mehr aus.
Vermute mal Fehler z.B. in meinen Übergabe-Strukturen bzgl. Var.i und Var.l, die ja nur
auf auf 32Bit-Windows beide 4Byte haben oder ähnliches ?
Hat vielleicht jemand ein paar grundlegende zu beachtende Punkte oder Links seitens
Purebasic- Einstellungen, Variablen/Strukturen-Benutzung und Nutzung älterer DLLs für mich ?
(... also damit 32Bit Kompilate möglichst auch auf 64Bit laufen.)
32bit PB-Programme auf 64bit Windows : Grundregeln ?
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: 32bit PB-Programme auf 64bit Windows : Grundregeln ?
Da Deine 32-Bit Tools auch unter 64-Bit als 32-Bit ausgeführt werden, sind Strukturen nicht das Problem. Das verwenden von
externen 32-Bit DLLs bereitet auch keine Probleme.
Probleme kann es bei Hardware-/Treiber-nahen Dingen geben, sowie bei besonderen Registry-Einträgen.
Aber ohne zu Wissen was Deine Tools da nun bewerkstelligen, kann Dir keiner helfen. "Normale" Anwendungen sollten
problemlos laufen.
Gruß
Thomas
externen 32-Bit DLLs bereitet auch keine Probleme.
Probleme kann es bei Hardware-/Treiber-nahen Dingen geben, sowie bei besonderen Registry-Einträgen.
Aber ohne zu Wissen was Deine Tools da nun bewerkstelligen, kann Dir keiner helfen. "Normale" Anwendungen sollten
problemlos laufen.
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- TheCube
- Beiträge: 169
- Registriert: 20.07.2010 23:59
- Computerausstattung: Risen 3400G 16MB Win10-64Bit
- Wohnort: NRW
Re: 32bit PB-Programme auf 64bit Windows : Grundregeln ?
Das Problem ist, das die Tools so um 2008-2009 entstanden, zu Zeiten von PB4.01.
Jetzt sind halt ein paar Jahre vergangen ... und selbst auf Produktions-Testrechnern
zieht langsam 64Bit-Windows ein .... mit den erwähnten Problemen.
Naja, z.B. ein Tool nutzt Atmel-Dlls zum automatisierten Programmieren der
µC-Firmware via USB. Nutzt dazu Atmels AtusbDfu.DLL / ATISP.DLL.
Beide DLLs zusammen mit der Firmware.hex Datei mittels UDres (Userlibrary) in die Exe gepackt.
Aber ich muss Montag erst nochmal in den alten Codes wühlen für ein kurzes Beispiel,
hast recht, bringt so rein theoretisch nicht viel.
Hatte nur im Hinterkopf das z.b ein Kennwert (Device-ID oder sowas) auf 64Bit verfälscht sein kann.
wert.l=$AABBCCDD gleich wert.i=$AABBCCDD auf 32Bit
wert.l=$AABBCCDD ungleich wert.i=$XXXXXXXXAABBCCDD auf 64Bit
Jetzt sind halt ein paar Jahre vergangen ... und selbst auf Produktions-Testrechnern
zieht langsam 64Bit-Windows ein .... mit den erwähnten Problemen.
Naja, z.B. ein Tool nutzt Atmel-Dlls zum automatisierten Programmieren der
µC-Firmware via USB. Nutzt dazu Atmels AtusbDfu.DLL / ATISP.DLL.
Beide DLLs zusammen mit der Firmware.hex Datei mittels UDres (Userlibrary) in die Exe gepackt.
Aber ich muss Montag erst nochmal in den alten Codes wühlen für ein kurzes Beispiel,
hast recht, bringt so rein theoretisch nicht viel.
Hatte nur im Hinterkopf das z.b ein Kennwert (Device-ID oder sowas) auf 64Bit verfälscht sein kann.
wert.l=$AABBCCDD gleich wert.i=$AABBCCDD auf 32Bit
wert.l=$AABBCCDD ungleich wert.i=$XXXXXXXXAABBCCDD auf 64Bit
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: 32bit PB-Programme auf 64bit Windows : Grundregeln ?
Da haben wir doch schon das Problem. 64-Bit OS erfordert 64-Bit Treiber, ergo ist ein 64-Bit Treiber für das Atmel Zeuchs erforderlich.
Auf die 64-Bit Treiber DLL kannst Du natürlich nur per 64-Bit Programm zugreifen, deshalb kann das ganze nicht funktionieren.
Gruß
Thomas
Auf die 64-Bit Treiber DLL kannst Du natürlich nur per 64-Bit Programm zugreifen, deshalb kann das ganze nicht funktionieren.
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- TheCube
- Beiträge: 169
- Registriert: 20.07.2010 23:59
- Computerausstattung: Risen 3400G 16MB Win10-64Bit
- Wohnort: NRW
Re: 32bit PB-Programme auf 64bit Windows : Grundregeln ?
Jut, werd ich testen indem ich versuche die alte damalige original Anwendung von Atmel ("FLIP")
zu installieren. Die setzt auch auf diesen DLLs auf und dürfte dann auch nicht mehr funktionieren.
Danke ... bis dann.
zu installieren. Die setzt auch auf diesen DLLs auf und dürfte dann auch nicht mehr funktionieren.
Danke ... bis dann.
- TheCube
- Beiträge: 169
- Registriert: 20.07.2010 23:59
- Computerausstattung: Risen 3400G 16MB Win10-64Bit
- Wohnort: NRW
Re: 32bit PB-Programme auf 64bit Windows : Grundregeln ?
Sooo ... hat wegen Karnevals-frei etwas länger gedauert.
Die o.g. original 32Bit Anwendung auf Windows 7 64Bit installiert.
Auf den ersten Blick alles ok, keine Fehlermeldungen o.ä. , lässt sich starten usw. ...
aber auch hier keine USB-Verbindung herstellbar.
Fazit: ts-soft hatte natürlich Recht, die genutzten 32-Bit DLL´s machen auf 64Bit nicht mit,
zumindest diese relativ systemnahen, ergo auch mein Programm nicht.
Falls mir ein anderes meiner 32->64 Problemprogramme (ohne DLL-Zeug) demnächst noch
zwischenkommt hänge ich mich hier wieder dran. (Kann aber laaange dauern)


Die o.g. original 32Bit Anwendung auf Windows 7 64Bit installiert.
Auf den ersten Blick alles ok, keine Fehlermeldungen o.ä. , lässt sich starten usw. ...
aber auch hier keine USB-Verbindung herstellbar.
Fazit: ts-soft hatte natürlich Recht, die genutzten 32-Bit DLL´s machen auf 64Bit nicht mit,
zumindest diese relativ systemnahen, ergo auch mein Programm nicht.
Falls mir ein anderes meiner 32->64 Problemprogramme (ohne DLL-Zeug) demnächst noch
zwischenkommt hänge ich mich hier wieder dran. (Kann aber laaange dauern)
