Autor Thema: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl  (Gelesen 5629 mal)

Offline nespresso

  • Aktives Mitglied
  • ***
  • Beiträge: 106
Guten Morgen, frisch für eine neue Denksportaufgabe?
Also eines vorweg, ich habe mit Entwicklung nichts am Hut.

Wir haben in einem Programm einen Aufruf einer DLL implementiert, was auf 8.0.2FP auf 32bit Windows einwandfrei funktioniert.
Nun haben wir die Plattform gewechselt auf Windows 2008 R2 64bit und Domino 8.5.3FP1 64bit
Wenn wir nun die selbe Funktion aufrufen erscheint Error Loading DLL. Dabei spielt es keine Rolle ob diese DLL oder das Verzeichnis überhaupt vorhanden ist, es kommt immer die selbe Meldung. Zugriff auf das entsprechende Verzeichnis haben wir via Agent, der ein Testfile ablegt schon getestet und das geht.

Sorry für meine dilettantische Art im Entwicklerforum zu posten, aber vielleicht hatte schon jemand ähnliche Probleme und weiss eine Lösung?

Merci und Gruss
Uwe

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #1 am: 24.05.12 - 10:54:14 »
32 Bit /64 Bit Unterschied? Welche DLL? in welchem Programm Implementiert?

Wie sagt Nummer 5 so schön ...
Brauche Input, mehr Input.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline nespresso

  • Aktives Mitglied
  • ***
  • Beiträge: 106
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #2 am: 24.05.12 - 11:02:15 »
Die DLL ist definitv 32bit, aber das sollte m.E. kein Thema sein. Wir haben viele 32bitter die auf 64 OS problemlos laufen.


*glühbirne* Könnte es sein, dass Domino, da 64bit ein Problem mit dem Aufruf einer 32bit DLL hat?
« Letzte Änderung: 24.05.12 - 11:10:11 von nespresso »

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #3 am: 24.05.12 - 11:13:51 »
Nein Domino hat damit normalerweise keine Probleme. Aber, es könnte schlicht und einfach sein,das die DLL nicht sauber regiestriert ist, oder im falschen Pfad liegt.

Deswegen die Frage nach, welche DLL, welches Programm?
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline nespresso

  • Aktives Mitglied
  • ***
  • Beiträge: 106
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #4 am: 24.05.12 - 11:21:51 »
Die Registrierung einer DLL ist doch eigentlich nur dazu da, dass jedes Programm weiss wo diese zu finden ist, oder?
Mit regsvr32 wird doch nur ein Regitry Eintrag erzeugt, in dem steht wo die DLL liegt.
Der Agent hat in den Declarations den Pfad zur DLL hinterlegt, somit sollte das doch gehen....?

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
« Letzte Änderung: 24.05.12 - 12:02:07 von m3 »
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #6 am: 24.05.12 - 12:02:38 »
Lass Dir mal vom Coder sagen, ob die DLL direkt aufgerufen wird, oder als COM Objekt.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #7 am: 24.05.12 - 12:05:05 »
Martin das ist jetzt nicht Ernst oder? IBM stiehlt sich einfach aus der Verantwortung, nach dem Motto, ja wir haben Scheiße gebaut aber das macht nix? Und nein wir haben auch keine Lust das zu korrigieren.
Wie Krank ist das denn? Das ist ja noch schlimmer als"No plans to fix in this codestream".
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline nespresso

  • Aktives Mitglied
  • ***
  • Beiträge: 106
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #8 am: 24.05.12 - 12:28:25 »
Die DLL wird direkt aufgerufen, also eine Funktion innerhalb der DLL. Mich beschleicht aber das Gefühl, dass selbst schon der Aufruf nicht funktioniert. Da die Fehlermeldung nicht der entspricht, die in den Links angegeben ist.
Könnte es eventuell sein, dass durch die DLL noch weitere aufgerufen werden, die eventuell dann doch nicht da sind wo sie sein sollten und der Fehler daher kommt?

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #9 am: 24.05.12 - 12:30:35 »
Thomas, so wie ich das lese, ist die LO47066 ueberholt, weil der SPR OIHZ7YKMY2 wurde ja fixed, war nur bei meiner Suche der erste Treffer.

Nachdem das in gefixed wurde, wuerde ich wenn, dann eher auf einen Regression Bug tippen.

@nespresso: Ja, das kann sein.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline nespresso

  • Aktives Mitglied
  • ***
  • Beiträge: 106
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #10 am: 24.05.12 - 14:00:18 »
Scheint so, als kann eine 32bit DLL nicht von einer 64bit Anwendung ( hier Domino ) geladen werden. Zumindest deuten weitere Recherchen im Web darauf hin.

Wenn ich mit Dependency Walker die DLL im produktiven Kontext aufrufe, erhalte ich eine Fehlermeldung
Error: Modules with different CPU types were found.
Man sieht alle abhängigen DLL's in rot mit x64 und die fragliche hat x86
« Letzte Änderung: 24.05.12 - 14:48:04 von nespresso »

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #11 am: 24.05.12 - 17:40:44 »
natürlich ist es so, dass man in einem 64 bit Programm keine 32 bit dll aufrufen kann. Wie soll das auch gehen, wenn das 64 bit Programm einen 64 bit Zeiger übergibt die 32 bit Dll aber nur was mit 32 bittigen Zeigern anfangen kann. Das ist doch auch der Grund warum 64 bit Browser kaum jemand verwendet, da die ganzen Plugins wie Flash und Konsorten dann da nicht laufen.

Die 32 bit Kompatibilität in Windows 64 bezieht sich darauf, dass 32 bit Programme laufen und praktisch alle Betriebssystembibliotheken sowohl in 64 bit als auch in 32 bit vorhanden sind.

Die Lösung ist übrigens ziemlich einfach. Der Entwickler muss nur seine DLL als 64 bit neu kompilieren.



Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Hatschi

  • Junior Mitglied
  • **
  • Beiträge: 96
Re: Aufruf externes Programm auf x64 OS/DOMINO schlägt fehl
« Antwort #12 am: 25.05.12 - 15:37:10 »
Wir hatten das Problem nur in umgekehrter Richtung.
Ein Script sollte auf Notes (32-Bit) per COM zugreifen. Startet man das Script einfach, war Notes nicht sichtbar. Erst nachdem es mit
c:\windows\syswow64\cscript "C:\temp\test.vbs"
im 32-Bit Modus gestartet wurde, funktionierte es.

Insofern kann ich Nespresso nur zustimmen das es Kommunikationsprobleme zwischen 32- und 64-Bit Anwendungen gibt. Vielleicht kannst du dir ja mit einem ähnlichen Konstrukt helfen.

Bernd

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz