ListLabel1.LlPrint

Hallo,

ich versuche seit einigen Tagen ein Problem bezüglich dem nachstehenden Code zu lösen. Der
Code basiert auf dem VB-Beispiel “devMode”.

Alle Aufrufe innerhalb der Druckroutine “PrintThis” werden korrekt ausgeführt. Mein Problem
tritt bei “Listlabe1.LlPrint” auf. Die Funktion wird aufgerufen und das Programm kommt wieder
aus der Funktion raus.
Eigentlich sollte die Funktion die Subroutine “ListLabel1.CmndDefineVariables” aufrufen - das
geschieht aber nicht und so hat L&L auch keine Daten.

Kann mir jemand einen Rat geben, was hier nicht stimmen könnte resp. wie ich dem Problem auf die
Schliche kommen kann.

Vielen Dank für Eure Unterstützung
Rainer

===========================================================================

’ Zentrale Druckroutine
Private Sub PrintThis(PrintMode As Integer)
’ DevMode-Struktur erzeugen
ReadDevMode SelDrucker, MyDevMode
’ DevMode-Struktur manipulieren
ChangeDevMode MyDevMode
’ DevMode-Struktur in P-Datei schreiben
ret% = LlSetPrinterInPrinterFile(ListLabel1.hJob, LL_PROJECT_LABEL, ObjPfad, 0, SelDrucker, MyDevMode)
’ Druck starten
ret% = ListLabel1.LlPrintWithBoxStart(LL_PROJECT_LABEL, ObjPfad, PrintMode, LL_BOXTYPE_STDWAIT, hWnd, “Eitketten Drucken”)
’ Variablen füllen
DefineVars
’ Variablen drucken
ListLabel1.LlPrint

' Druck beenden
ret% = ListLabel1.LlPrintEnd(0)
' Beim Preview-Druck Preview anzeigen und dann Preview-datei (.LL) löschen
If PrintMode = LL_PRINT_PREVIEW Then
   ret% = ListLabel1.LlPreviewDisplay(ObjPfad, "", hWnd)
   ret% = ListLabel1.LlPreviewDeleteFiles(ObjPfad, "")
End If

End Sub

Hallo,

wenn du eine eigene Druckschleife verwendest (nicht Print() und
Design() der Komponente; sondern LlPrint()), dann werden - soweit ich
weiss - die Events CmndDefineVariables und CmndDefineFields nicht
getriggert. Bei einer eigenen Druchschleife muss man die Daten ja selber
anmelden mit bspw. mit LlDefineFieldExt oder LlDefineVariableExt.

Rainer Laue wrote:

Hallo,

ich versuche seit einigen Tagen ein Problem bezüglich dem nachstehenden Code zu lösen. Der
Code basiert auf dem VB-Beispiel “devMode”.

Alle Aufrufe innerhalb der Druckroutine “PrintThis” werden korrekt ausgeführt. Mein Problem
tritt bei “Listlabe1.LlPrint” auf. Die Funktion wird aufgerufen und das Programm kommt wieder
aus der Funktion raus.
Eigentlich sollte die Funktion die Subroutine “ListLabel1.CmndDefineVariables” aufrufen - das
geschieht aber nicht und so hat L&L auch keine Daten.

Kann mir jemand einen Rat geben, was hier nicht stimmen könnte resp. wie ich dem Problem auf die
Schliche kommen kann.

Vielen Dank für Eure Unterstützung
Rainer

===========================================================================

’ Zentrale Druckroutine
Private Sub PrintThis(PrintMode As Integer)
’ DevMode-Struktur erzeugen
ReadDevMode SelDrucker, MyDevMode
’ DevMode-Struktur manipulieren
ChangeDevMode MyDevMode
’ DevMode-Struktur in P-Datei schreiben
ret% = LlSetPrinterInPrinterFile(ListLabel1.hJob, LL_PROJECT_LABEL, ObjPfad, 0, SelDrucker, MyDevMode)
’ Druck starten
ret% = ListLabel1.LlPrintWithBoxStart(LL_PROJECT_LABEL, ObjPfad, PrintMode, LL_BOXTYPE_STDWAIT, hWnd, “Eitketten Drucken”)
’ Variablen füllen
DefineVars
’ Variablen drucken
ListLabel1.LlPrint

' Druck beenden
ret% = ListLabel1.LlPrintEnd(0)
' Beim Preview-Druck Preview anzeigen und dann Preview-datei (.LL) löschen
If PrintMode = LL_PRINT_PREVIEW Then
   ret% = ListLabel1.LlPreviewDisplay(ObjPfad, "", hWnd)
   ret% = ListLabel1.LlPreviewDeleteFiles(ObjPfad, "")
End If

End Sub

“Rainer Laue” <caramba@vtxma…> schrieb im Newsbeitrag
news:100716112008203917@combit.net…

s. meine Antwort im anderen Thread…

G.

Hallo,

danke für die Antworten; jetzt ist mir das Problem schon klarer und
ich kann daran weiterarbeiten. Als Anfänger mit L&L hat man es mach-
mal schwer …

Vielleicht kann mir jemand noch eine Frage in dem Zusammenhang beant-
worten. Ich sehe manchmal unterschiedliche Formen beim Aufruf von Funk-
tionen. Bei LlPrint zb:

a) ListLabel1.LlPrint

oder

b) nLLError = ListLabel1.LlPrint()

Was ist der Unterschied bei diesen Aufrufen und wann muss ich was anwenden?

Danke für Euer Feedback
Rainer

“Rainer Laue” <caramba@vtxma…> schrieb im Newsbeitrag
news:100716112008203917@combit.net…

s. meine Antwort im anderen Thread…

G.

Hallo,

der Unterschied zwischen a) und b) ist der, dass bei b) zusätzlich der
Rückgabewert der aufgerufenen Funktion gespeichert wird und später
abgefragt werden kann. Damit kann man dann entsprechendes
LL-Fehlerhandling realisieren. Weitere Informationen über die
jeweiligen Rückgabewerte der einzelnen LL-Funktionen findest du aber
auch in der Programmierer-Referenz.
Wenn du die Komponenten verwendest, bspw. das OCX, dann müsste es eine
eigene Referenz für geben → wird glaube ich im Startmenü unter
…Dokumentationen > Komponenten-Onlinehilfen.

In deinem Fall wird aber die LL-Core-Funktion LlPrint() aufgerufen und
nicht die Print()-Methode der Komponente.

Rainer Laue wrote:

Hallo,

danke für die Antworten; jetzt ist mir das Problem schon klarer und
ich kann daran weiterarbeiten. Als Anfänger mit L&L hat man es mach-
mal schwer …

Vielleicht kann mir jemand noch eine Frage in dem Zusammenhang beant-
worten. Ich sehe manchmal unterschiedliche Formen beim Aufruf von Funk-
tionen. Bei LlPrint zb:

a) ListLabel1.LlPrint

oder

b) nLLError = ListLabel1.LlPrint()

Was ist der Unterschied bei diesen Aufrufen und wann muss ich was anwenden?

Danke für Euer Feedback
Rainer

“Rainer Laue” <caramba@vtxma…> schrieb im Newsbeitrag
news:100716112008203917@combit.net…

s. meine Antwort im anderen Thread…

G.

Hallo Georg,

danke für die Info. Jetzt ist mir die Sache verständlich.

Schönes Weekend
Rainer

Hallo,

der Unterschied zwischen a) und b) ist der, dass bei b) zusätzlich der
Rückgabewert der aufgerufenen Funktion gespeichert wird und später
abgefragt werden kann. Damit kann man dann entsprechendes
LL-Fehlerhandling realisieren. Weitere Informationen über die
jeweiligen Rückgabewerte der einzelnen LL-Funktionen findest du aber
auch in der Programmierer-Referenz.
Wenn du die Komponenten verwendest, bspw. das OCX, dann müsste es eine
eigene Referenz für geben → wird glaube ich im Startmenü unter
…Dokumentationen > Komponenten-Onlinehilfen.

In deinem Fall wird aber die LL-Core-Funktion LlPrint() aufgerufen und
nicht die Print()-Methode der Komponente.

Rainer Laue wrote:

Hallo,

danke für die Antworten; jetzt ist mir das Problem schon klarer und
ich kann daran weiterarbeiten. Als Anfänger mit L&L hat man es mach-
mal schwer …

Vielleicht kann mir jemand noch eine Frage in dem Zusammenhang beant-
worten. Ich sehe manchmal unterschiedliche Formen beim Aufruf von Funk-
tionen. Bei LlPrint zb:

a) ListLabel1.LlPrint

oder

b) nLLError = ListLabel1.LlPrint()

Was ist der Unterschied bei diesen Aufrufen und wann muss ich was anwenden?

Danke für Euer Feedback
Rainer

“Rainer Laue” <caramba@vtxma…> schrieb im Newsbeitrag
news:100716112008203917@combit.net…

s. meine Antwort im anderen Thread…

G.