List & Label -API Aufruf
Verfasst: Fr, 28. Sep 2007 13:47
Experte für List&Label gesucht
Ich setze seit einiger Zeit List&Label 12 für meine Druckausgaben ein.
Bei einem Formulardruck sollen 2 Kopien aus Schacht 1 und 3 Kopien aus Schacht 2 des Druckers automatisch gedruckt werden.
Leider gibt es keinen einfachen LL-Funktionsaufruf, der diese an sich einfache Sache steueren kann. Die Hotline verwies auf eine umständliche Variante, API-Funktionen aus der CMLS12.DLL zu nutzen: LLStgsysStorageOpen, LLStgsysGetPageCount() und andere Funktionen zur direkten Verwaltung der Previewdatei.
Nur leider lassen diese sich nicht aus Xbase++ nicht aufrufen (Fehlermeldung Unbekannte Funktion DllCallPepare), was auf einen Parameterkonflikt in der DllCallPepare() hindeutet.
Bsp.: Das Öffnen der bereits fertigen Previewdatei sieht (gekürzt) ungefähr so aus:
local sStg:="C:\TMP\TROMLISTE.LL"
local hStg
hStg:=LLStgsysStorageOpen(sStg, "", .t., .t.)
if hStg =0
msgbox("Fehler")
else
msgbox("OK")
endi
...
DLLFUNCTION LLStgsysStorageOpen( cFilename, cTemppath, lReadonly, lOneJobTranslation ) USING STDCALL FROM CMLS12.DLL
Der Ersatz von STDCALL durch die C-Aufrufkonvention CDECL brachte nichts.
Hat jemand eine Idee, wie man die Problemstellung noch lösen könnte bzw. was falsch ist an dem API-Aufruf? Die Datei CMLS12.DLL befindet sich in C:\WINDOWS\SYSTEM32 und enhält wirklich eine Funktion namens
LLStgsysStorageOpen, was im Hex-Editor zu sehen ist.
Danke im Voraus
Frank
Ich setze seit einiger Zeit List&Label 12 für meine Druckausgaben ein.
Bei einem Formulardruck sollen 2 Kopien aus Schacht 1 und 3 Kopien aus Schacht 2 des Druckers automatisch gedruckt werden.
Leider gibt es keinen einfachen LL-Funktionsaufruf, der diese an sich einfache Sache steueren kann. Die Hotline verwies auf eine umständliche Variante, API-Funktionen aus der CMLS12.DLL zu nutzen: LLStgsysStorageOpen, LLStgsysGetPageCount() und andere Funktionen zur direkten Verwaltung der Previewdatei.
Nur leider lassen diese sich nicht aus Xbase++ nicht aufrufen (Fehlermeldung Unbekannte Funktion DllCallPepare), was auf einen Parameterkonflikt in der DllCallPepare() hindeutet.
Bsp.: Das Öffnen der bereits fertigen Previewdatei sieht (gekürzt) ungefähr so aus:
local sStg:="C:\TMP\TROMLISTE.LL"
local hStg
hStg:=LLStgsysStorageOpen(sStg, "", .t., .t.)
if hStg =0
msgbox("Fehler")
else
msgbox("OK")
endi
...
DLLFUNCTION LLStgsysStorageOpen( cFilename, cTemppath, lReadonly, lOneJobTranslation ) USING STDCALL FROM CMLS12.DLL
Der Ersatz von STDCALL durch die C-Aufrufkonvention CDECL brachte nichts.
Hat jemand eine Idee, wie man die Problemstellung noch lösen könnte bzw. was falsch ist an dem API-Aufruf? Die Datei CMLS12.DLL befindet sich in C:\WINDOWS\SYSTEM32 und enhält wirklich eine Funktion namens
LLStgsysStorageOpen, was im Hex-Editor zu sehen ist.
Danke im Voraus
Frank