L&L 20 - Installation beim Endkunden

Moderator: Moderatoren

Antworten
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

L&L 20 - Installation beim Endkunden

Beitrag von Martin Altmann »

Moin,
bevor ich mir in gut vier Wochen die 30-Tage-Testversion herunterlade, hätte ich da noch die eine oder andere Frage an die, die es bereits nutzen.
Ich gehe nicht davon aus, dass die Version per ActiveX angesteuert werden muss - aber dennoch wird man doch sicherlich Dateien registrieren müssen, oder?
Es wird ja wahrscheinlich ein Installationsprogramm für die entsprechenden Komponente geben, das dies beim Endlunden übernimmt - aber hat vielleicht schon jemand dies unter InnoSetup nachgebildet?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von brandelh »

TOM hat hier geschrieben, dass es drei Versionen gibt , ActiveX (kümmert sich automatisch um OEM/Ansi), DLL und .NET.
:arrow: http://www.xbaseforum.de/viewtopic.php? ... 26l#p58962
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von Martin Altmann »

Das wäre schön, wenn es noch immer so wäre (Version 20!) - darum ja meine Frage.
Laut der Webseite des Herstellers finde ich nur Hinweise zum Registrieren der .ocx-Datei beim Endkunden (wäre ja ActiveX) und ein Verweis auf die redist.txt, in der die zu verteilenden/installierenden/registrierenden Komponenten genannt werden.
Da Tom dort ja was von DLL-Variante erzählt hatte, war meine Frage entsprechend suggestiv formuliert. Ich suche jetzt ja nur eine Bestätigung bzw. Widerspruch zu meiner Aussage - idealerweise von jemandem, der L&L20 auch schon nutzt ;-)

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von brandelh »

Laut der Web-Site des Herstellers gibt es diese Möglichkeiten immer noch:

https://www.combit.net/reporting/entwic ... mgebungen/
Entwicklungsumgebungen
In allen DLL/API-kompatiblen Programmiersprachen kann List & Label verwendet werden.
Fragen Sie uns, wenn Ihre Wunsch-Umgebung fehlt!
Wenn es eine DLL Version gibt, müsste die immer ohne Registrierung auskommen, aber mal sehen was TOM dazu meint ;-)

PS: Weiter unten unter "XCOPY" steht:
Einfache Verteilung

Dank xcopy ist die Integration in Ihre Anwendung im Handumdrehen erledigt. Unser Report Generator benötigt keine Datenbanktreiber oder besondere Setups. Sie kopieren einfach das Programmverzeichnis. Entwickler lieben diesen einfachen Prozess - es ist nicht einmal eine Registrierung erforderlich (außer bei OCX). Bei der Untersuchung von Problemen steht die integrierte Auto-Debugging-Funktion hilfreich zur Seite.
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von Martin Altmann »

Yup - darum hoffe ich es ja.
Weiß nur nicht, ob für einige Funktionalitäten ActiveX zwangsweise Vorraussetzung ist - kann es mir aber schwerlich vorstellen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von Tom »

Du benötigst die Registrierung nur, wenn Du die AX-Komponente verwendest - L&L gibt es per DLL, als .NET-Komponente und als ActiveX. Ich gehe davon aus, dass Du die DLL-Version verwendest. In diesem Fall musst Du nur alle Dateien zur Verfügung stellen, die sich in "Redistributierbare Dateien" befinden (ist ein bisschen redundant, aber egal). Und, natürlich, Deinen Lizenzschlüssel hinterlegen (LlSetOptionString(-1,LL_OPTIONSTR_LICENSINGINFO,<cMyKey>)), vor dem ersten Aufruf von LlJobOpen(). That's it.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von Martin Altmann »

Moin Tom,
danke - kleiner Hinweis: Ich verwende noch nicht, ich werde verwenden 8)
Hat denn jemand von Euch schon Erfahrung mit Multithreading und L&L20?
In der Knowledgebase stand drin, dass man bei Multithreading ein wenig aufpassen muss - jeder Thread muss sein eigenes L&L-Objekt initialisieren. Es sei sinnvoll, beim Starten des Threads die Initialisierung vorzunehmen, damit die relevanten Bibliotheken bereits im Speicher sind - man sollte nicht vor dem Erzeugen eines Reports die Initialisierung vornehmen und nach dem Erzeugen wieder aufräumen. Es kann wohl Probleme mit memoryleaks geben.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von Tom »

L&L ist threadsafe; die L&L-Beispiele (Ll20ModuleInit) initialisieren Jobs nach Threads. In der Praxis ist das vergleichsweise unerheblich, weil es nur eine Rolle spielen würde, wenn man tatsächlich gleichzeitig in mehreren Threads Druckjobs auslösen würde. Man kann auch mit einem globalen Job arbeiten.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von Martin Altmann »

Yup - das mit dem globalen Job war der entsprechende Hinweis in der Knowledgebase.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von Tom »

Ich arbeite ein bisschen ganz anders. :wink: Es gibt einen globalen Job, der in einer Funktion beim Programmstart initialisiert wird. Wenn irgendwo gedruckt wird, wird dieser Job verwendet. Die Druckroutine setzt aber einen Schalter (Get-Set-Funktion) dafür, dass sie läuft, und setzt diesen erst wieder zurück, wenn alles beendet ist, das L&L betrifft (Löschen der Vorschaudateien, Exporte, Sicherung von Vorschaudateien, Mailversand usw.). Wird ein weiterer Druckauftrag ausgelöst, obwohl das globale Jobhandle in Benutzung ist, holt sich das Programm ein weiteres Handle (eine weitere Get-Set-Funktion, die sich die Handles und den Callstack merkt), arbeitet also in einem anderen Job, der dann auch wieder initialisiert und im Anschluss geschlossen wird. In der Realität geschieht das äußerst selten - so selten, dass ich die Funktionalität eigentlich wieder rauswerfen könnte. Diese Lösung haben wir implementiert, nachdem wir irgendwann mit L&L 7 oder 8 festgestellt hatten, dass die Jobinitialisierung (nebst Bestückung aller Standardvariablen usw.) sehr lange dauerte - vorher hatte sich jeder Thread seinen Job geholt. Gut möglich, dass sie inzwischen obsolet wäre. Anyway, L&L ist auch in dieser Variante threadsafe (mosert allerdings in den Logs, wenn man DebWin laufen lässt, dass die Jobs in anderen Threads initialisiert wurden als sie verwendet werden), und es gibt zumindest bei uns den Fall, dass in zwei Threads gleichzeitig gedruckt wird, faktisch nie (nur in unseren hauseigenen Tests).
Das hängt auch ein wenig davon ab, wie man L&L verwendet. Wir haben eine ganze Latte von Standardinformationen, die in allen Formularen zur Verfügung stehen, es gibt viele Textbausteine und solches Zeug. Das kostet Kraft, die wir dieserart besser dosieren.
Herzlich,
Tom
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von Wolfgang Ciriack »

Also mit dem globalen Job ist so eine Sache. Ich hatte das mal so implementiert und hatte dann die Probleme, das beim Beenden meiner Anwendung immer irgendetwas im Speicher hängen blieb. Ich meine, Tom hätte da mal etwas von einer besonderen Behandlung geschrieben. Ich habe dann wieder umgestellt auf Init und Exit von LL20 vor jedem Druck.
Aber vielleicht kann ja Tom da nochmal etwas Licht ins Dunkle bringen... #-o
Viele Grüße
Wolfgang
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L 20 - Installation beim Endkunden

Beitrag von Tom »

Das ist unproblematisch. Man darf nur nicht vergessen, den globalen Job zu schließen, bevor die Applikation beendet wird. Auch in der Errorsys.
Herzlich,
Tom
Antworten