Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi 32 Bit DLL unter WIN 7, 64bit (https://www.delphipraxis.net/162932-32-bit-dll-unter-win-7-64bit.html)

yogie 9. Sep 2011 17:36

32 Bit DLL unter WIN 7, 64bit
 
Hallo zusammen,

in einer ganzen Serie von Programmen habe ich eine DLL
eingesetzt (http://www.datamaster2003.com). Die DLL heißt
Fitter.DLL und wird im Delhiprogamm als ActiveX
angesprochen.( http://fitting.datamaster2003.com/index.htm)
Dazu muss zuvor einmalig laut Anleitung

regsvr32 fitter.dll

ausgeführt werden.

Soweit so gut, unter WIN XP. Jetzt steht ein Umzug der
Programme auf Windows 7 (64 Bit) an.

Schon der obige Befehl endet mit einer Fehlermeldung

„Das Modul Fitte.dll ist möglicherweise
nicht mit der Version von Windows kompatibel ..“

Mit dem Ergebnis, dass dann bei der Instanziierung mit

Fitter := CreateOleObject(´Fitter.DMFitter’);

Nur noch eine Fehlermeldung erscheint.

Bei anderen Programmen, auch mit „alten“ VCL-Komponenten
gab es bisher keine Probleme beim Umzug.

Kann ich die DLL irgendwie überreden doch noch zu laufen ?

Bemerkung :
Die DLL führt einen Fit (Levenberg Marquwardt) von gegebenen Punkten an eine beliebig definierbare Funktion aus. Das funktioniert wirklich hervorragend. Ich habe lange gesucht, sowas für Delphi zu finden.

jaenicke 9. Sep 2011 18:10

AW: 32 Bit DLL unter WIN 7, 64bit
 
Zitat:

Zitat von yogie (Beitrag 1123013)
Schon der obige Befehl endet mit einer Fehlermeldung

„Das Modul Fitte.dll ist möglicherweise
nicht mit der Version von Windows kompatibel ..“

Das kann ich nicht nachvollziehen, bei mir wird die DLL (frisch von der verlinkten Seite heruntergeladen) unter Windows 7 64-Bit ganz normal registriert.

Hast du vielleicht irgendwelche wichtigen Systemeinstellungen verstellt (UAC deaktiviert, Umgebungsvariablen geändert, ...) oder hast du den Befehl nicht mit Administratorrechten ausgeführt (dann sollte aber eine andere Meldung kommen)?

// EDIT:
CreateOleObject liefert auch keinen Fehler.

mkinzler 9. Sep 2011 18:12

AW: 32 Bit DLL unter WIN 7, 64bit
 
Möglicherweise benötigt regsvr32 hier Adminrechte, da die Dll global für alle Nutzer registriert wird

yogie 10. Sep 2011 08:38

AW: 32 Bit DLL unter WIN 7, 64bit
 
Hallo,
erstmal danke für die Tips.
An die Möglichkeit das mit den Rechten etwas nicht stimmt, habe ich auch schon
gedacht. Ich habe jetzt die DLL nochmal frisch von der Webseite geladen und bin
(wie schon zuvor) als Admin angemeldet. Die Fehlermeldunmg bleibt wie gehabt.

jaenicke 10. Sep 2011 09:04

AW: 32 Bit DLL unter WIN 7, 64bit
 
Zitat:

Zitat von yogie (Beitrag 1123095)
bin (wie schon zuvor) als Admin angemeldet.

Nur zur Sicherheit: Du hast also eine Konsole explizit als Admin aufgemacht, d.h. mit Bestätigung durch die UAC? Da muss "Administrator: Windows-Befehlsprozessor" im Titel der Konsole stehen.

Wohin hast du die DLL denn kopiert? Korrekt nach Windows\SysWOW64?

Hast du die neuesten Updates für Windows für Windows drauf?

yogie 10. Sep 2011 10:14

AW: 32 Bit DLL unter WIN 7, 64bit
 
Hallo,

ich bin als Admin angemeldet und über dem Fenster steht

Administrator : Eingabeaufforderung

Zunächst hatte ich die DLL unter System32 gespeichert,
so war das auch bei Win XP.
Jetzt habe ich sie nach SysWOW64 verschoben.

Ein Aufruf von regsvr32 bringt jetzt die Meldung :

Fehler beim laden des Moduls "Fitter.DLL"
...
Das angegebene Modul wurde nicht gefunden

Im Explorer ist Fitter.DLL aber an der richtigen Stelle
(also under ..\SysWOW64) zu sehen.

jaenicke 10. Sep 2011 10:39

AW: 32 Bit DLL unter WIN 7, 64bit
 
Du musst auch auf der Konsole in diesem Ordner SysWOW64 sein. Oder du schreibst den Pfad absolut hin.

yogie 10. Sep 2011 17:53

AW: 32 Bit DLL unter WIN 7, 64bit
 
@jaenicke

das war der entscheidende Tip, man muß das cmd.exe aus dem
Ordner SysWOW64 für die Registrierung verwenden.

Jetzt wurde die DLL registriert und die Programme laufen
wie unter Win XP.

Nochmal vielen Dank!!


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