pPrinterName ist doch lptstr, also PWideChar, seit D2009.
Da sollte der Compiler also bei
DocumentPropertiesA(0,pCard.hPrinter,PAnsiChar(pPrinterName), PDEVMODE(bOutDV),nil,DM_COPY);
rummotzen.
Wie wird denn DriverPrint_OpenCard aufgerufen? (ich würde erstmal dort den Fehler suchen)
Tja, anfangs war fast alles dynamisch programmiert, womit es sich seit D2009 automatisch auf
Unicode umstellen sollte ... bis auf
devA: _devicemodeA;
String, Char, PChar, ApiFunktion, Struktur/Record
AnsiString,
AnsiChar, P
AnsiChar, ApiFunktion
A, Struktur
A/Record
A
WideString/UnicodeString,
WideChar, P
WideChar, ApiFunktion
W, Struktur
W/Record
W
NIEMALS vermischen
Und wie ich es immer wieder prädige: Wertet endlich mal die Rückgabewerte und Fehlermeldungen der Funktionen aus, welche ihr aufruft.
Die sagen euch meistens schon, was ihnen nicht gefällt ... man muß nur drauf hören.