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.
Ein Therapeut entspricht 1024 Gigapeut.