Autor Beitrag
MS
Hält's aus hier
Beiträge: 1



BeitragVerfasst: So 20.04.03 14:10 
Ich möchte die LabView DLL gpib-32.dll in meine Delphi Anwendung mit LoadLibrary einbinden. Das funktioniert aber nicht auf einer Win98 Maschine (auf Win2k ohne Probleme). Ich brauche für Win95/Win98/WinME wohl den Microsoft Layer for Unicode mit der DLL UnicoWS.dll.

Welche DLLs muß ich nun in welcher Reihenfolge mit LoadLibrary einbinden, bevor ich gpib-32.dll laden kann? Ich habe die folgende Reihenfolge von LoadLibrary Befehlen probiert (wie in der API reference empfohlen): kernel32.dll, advapi32.dll, user32.dll,..., UnicoWS.dll, kernel32.dll, advapi32.dll, user32.dll, ... Trotzdem schlägt LoadLibrary('gpib-32.dll') fehl.

Kann mir jemand weiterhelfen? Z.B.: Wie läßt sich /nod aus C nach Delphi übertragen?

Moderiert von user profile iconTino: Überflüssige Absätze entfernt.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 20.04.03 14:18 
Das dürfte schwer werden. Windows 9x unterstützt UNI-Code nur sehr rudimentär bis überhaupt nicht.
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: So 27.04.03 14:52 
Die datei gpib-32.dll muß die UnicowWS.dll laden können. Dazu reicht es aus das diese Datei im gleichen Verzeichnis liegt (Keine Installation nötig).

Sie kann unter www.microsoft.com/do...2&DisplayLang=en heruntergeladen werden (Suche unter www.microsoft.com/do....aspx?displaylang=en nach "Unicode Win95").

Diese Datei mach eigentlich nur folgenden Pseudocode für jede Funktion aus:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure DoSomeThingW
begin
  if IsW95_98_ME then
    SystemDLL.DoSomeThingA
  else
    SystemDLL.DoSomeThingW
end;

Dabei werden noch alle Wide-(Widestring)Übergabeparameter unter Win9x/ME nach Ansistrings umgewandelt und dabei die aktuelle Codepage des Prozesses verwendet.

Moderiert von user profile iconTino: Code-Tags hinzugefügt.