INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

PeakCAN-BasicAPI.dll in LV einbinden



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

15.11.2012, 12:31
Beitrag #3

SchwindelInside Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 77
Registriert seit: Dec 2005

2012 pro
2005
EN


Deutschland
RE: PeakCAN-BasicAPI.dll in LV einbinden
Hallo RolfK,

Vielen Dank für die Antwort. Das war wohl der Fehler. Hab die zusätzlichen eingänge alle auf 0 gesetzt und siehe da, der Fehler ist verschwunden. Und wieder was gelernt dabei. Thanx

(14.11.2012 22:36 )rolfk schrieb:  Standard C kennt KEINE optionalen Funktionsparameter und das DLL Interface folgt Standard C Konventionen und nicht C++ oder Delphi Konventionen wo Parameter mit Defaultwerten deklariert werden können. Das bedeutet dass Du doch echt alle 5 Parameter konfigurieren musst und den "optionelen" Parametern exlplizit den Defaultwert zuweisen musst.

Der Umstand dass die Funktion stdcall ist macht eine variable Anzahl Parameter sowieso vollkommen unmöglich, da der Aufrufer die Parameter auf den Stack schiebt, aber die Funktion den Stack anschliessend korrigiert.
Das wusste ich bis jetzt noch nicht. In der API-Dokumentation sind auch nur Einbindungen für objektorientierte Sprachen, wie C++, C#, Delphi, VBasic und Python aufgeführt aber keine in ANSI-C.

Zitat:Inwiefern die Datentypen korrekt sind kann ich nicht sagen, da die Deklaration von TPCANStatus, TPCANHandle usw. nirgends aus Deinem Post ersichtlich ist.
TPCANStatus ist ein BYTE-enum und und TPCANHandle ein DWORD-enum. Die Initialisierung des USB-Kanals schien aber bereits korrekt funktioniert zu haben, wie die PCANStatus-Ausgabe "PCAN_ERROR_OK" im Bild zeigt.

viele Grüße
Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: PeakCAN-BasicAPI.dll in LV einbinden - SchwindelInside - 15.11.2012 12:31

Gehe zu: