Caliper2PC
API in CSharp unter Visual Studio 2017 - Printable Version

+- Caliper2PC (https://www.caliper2pc.de/forum)
+-- Forum: Deutsch (https://www.caliper2pc.de/forum/forumdisplay.php?fid=7)
+--- Forum: Software (https://www.caliper2pc.de/forum/forumdisplay.php?fid=9)
+--- Thread: API in CSharp unter Visual Studio 2017 (/showthread.php?tid=5)



API in CSharp unter Visual Studio 2017 - Klausi - 03-03-2019

Ich würde gerne die aktuellen Messdaten aus den Encodern in einem eigenen von mir geschriebenen Programm verwenden. Ich habe die API von der Caliper2PC Downloadseite downgeloadet und in einen Ordner entpackt. Die Datenübertragung zwischen der Caliper2PC Software und den vorkompilierten Demoprogrammen läuft einwandfrei. Versuche ich jedoch die "Exchange.dll" in meinem Programm einzubinden und unter Visual Studio 2017 zu kompilieren, bekomme ich in Zeile 93 eine Fehlermeldung:

Unbehandelte Ausnahme:

System.BadImageFormatException: "Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)"

Die Beispieldateien wurden auf einer älteren VS Version erzeugt. Könnte es an dem von VS durchgeführten Upgrate liegen? Im Migrationsbericht werden keine Fehler angezeigt.
  Huh


RE: API in CSharp unter Visual Studio 2017 - Tomer - 03-04-2019

[attachment=2]
(03-03-2019, 02:03 PM)Klausi Wrote: Ich würde gerne die aktuellen Messdaten aus den Encodern in einem eigenen von mir geschriebenen Programm verwenden. Ich habe die API von der Caliper2PC Downloadseite downgeloadet und in einen Ordner entpackt. Die Datenübertragung zwischen der Caliper2PC Software und den vorkompilierten Demoprogrammen läuft einwandfrei. Versuche ich jedoch die "Exchange.dll" in meinem Programm einzubinden und unter Visual Studio 2017 zu kompilieren, bekomme ich in Zeile 93 eine Fehlermeldung:

Unbehandelte Ausnahme:

System.BadImageFormatException: "Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)"

Die Beispieldateien wurden auf einer älteren VS Version erzeugt. Könnte es an dem von VS durchgeführten Upgrate liegen? Im Migrationsbericht werden keine Fehler angezeigt.
  Huh

Hallo Klausi und willkommen im Forum.

Es gibt 2 Versionen der API dll. Die 32 Bit Version heisst "Exchange.dll" und die 64 Bit Version heisst "Exchange64.dll". Abhängig davon, ob Ihr Programm in 32 Bit oder 64 Bit kompiliert wird, muss die entsprechende dll eingebunden werden. Falls Sie Ihr Programm als 32 Bit Version kompilieren möchten (z.B. wenn das Program auf 32 Bit Windows Versionen laufen soll), muss die Datei "Exchange.dll" eingebunden werden. Um das Programm in 32 Bit zu kompilieren, muss in VS 2017 in Debug bzw. Release Mode von "Any CPU" auf "x86" umgeschaltet werden (siehe Anhang).


RE: API in CSharp unter Visual Studio 2017 - Klausi - 03-04-2019

Vielen Dank, jetzt läuft es. Smile