In einer Headerdatei USB_Interface.h kommt bei den folgenden Zeilen:
#ifndef __AFXWIN_H__
#error include \'stdafx.h\' before including this file for PCH
#endif
folgender Fehler:
[C++ Fatal Error] USB_Interface.h(12): F1003 Error directive: include \'stdafx.h\' before including this file for PCH
Hab dann die stdafx.h eingebunden! Hat nichts gebracht kommt trotzdem noch der selbe Fehler!?
Was muß ich denn da machen!?
Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge
Soweit ich das erkennen kann, dient dieser quellcode dazu, um die datei "an21xx.DLL" dynamisch (LoadLibrary/FreeLibrary/GetProcAddress) zu verwenden
int OpenDevice(BYTE DevNumber, char* DriverName, char* ID, char* KeyWord);
int SetInterrupt (BYTE DevNumber,BYTE IntNum,BYTE STATE);
int SetRefreshTime (long RefreshTime);
etc.
Zusätzlich ist noch eine stringübersetzung zwischen pascal und C für die parameterübergabe eingebaut (ConvertStringToPascalDLL/PascalString) die verwendung ist aber rätselhaft (strdup/free, new[]/delete[] ohne das voranstellen der länge o.ä. hätte es auch getan).
Die klasse CUSB_InterfaceApp dient dem "loadtime"-anbinden von "an21xx.dll" im konstruktor von "theApp". Eine freigabe im destruktor scheint aber zu fehlen und ein misserfolg kommt wohl auch nicht in frage (feedback nur visuell durch AfxMessageBox, was durch eine vorhandene variante ersetzt werden müsste).
Alle dies funktionen kann man auch direkt in seinem projekt unterbringen (u.a. durch weglassen von "__declspec(dllexport) __stdcall"), dafür eine extra mini-DLL zu erzeugen ist etwas merkwürdig.
Mit diesem link (unter "msvcrt.lib missing" einfach msvcrt durch AN21xx ersetzen) lässt sich aus der AN21xx.dll die fehlende datei AN21xx.lib (sowie *.exp) erzeugen. Ähnliches sollte auch für "Borland C++ Builder" möglich sein. Dann ist dieser wrapper (USB_Interface.cpp) nicht mehr nötig.
Hier steht z.b. beschrieben, wie man mit "dem Borland-Tool IMPLIB" eine passende import-lib für borland aus der vcc-import-lib (herstellung oben beschrieben, selbst probiert, scheint zu gehen) erzeugt.
mr.escape