L&L und Dateien für Installation

Moderator: Moderatoren

Antworten
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

L&L und Dateien für Installation

Beitrag von Rudolf »

Hallo,
habe wie schon so oft Probleme mit L&L Version 8 beim installieren beim Kunden. Habe zwar die folgenden Dateien im System32 Verzeichnis und im Programmverzeichnis, aber beim Aufruf von L8ModuleInit() stürzt das Programm ab weil ich NIL zurückbekomme.
Muss ich noch DLL's registrieren oder fehlen noch Dateien ?

Grüsse
Rudolf

CM32CR8.DLL
CM32CT8.DLL
CM32DW8.DLL
CM32L8.DLL
cm32l800.lng
CM32L8O.OCX
CM32L8S.DLL
CM32L8V.OCX
CM32MM8.DLL
CM32PR8.DLL
CM32UT8.DLL
CMBTL8.CH
CMBTL800.HLP
cmbtl800.inf
cmbtl8o.hlp
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Hallo Rudolf,
schau mal im redist Verzeichnis von L&L, da ist ein Dokument, wo alle auszuliefernden Dateien gelistet sind.
Viele Grüße
Wolfgang
Benutzeravatar
Josef Stockinger
UDF-Programmierer
UDF-Programmierer
Beiträge: 53
Registriert: So, 25. Sep 2005 18:06
Wohnort: Nähe Regensburg
Kontaktdaten:

Beitrag von Josef Stockinger »

Hallo Rudolf,

in die cmbtl8.prg solltest Du auch reinschauen. Selbst in der Version 9 ist noch folgende Ausgabe drin:

Code: Alles auswählen

PROCEDURE L9ModuleInit()
  hDll = DllLoad("CM32L9.DLL")
  IF hDll == 0
    ? "CM32L9.DLL cannot be loaded"
   ELSE
    L9LoadTemplates()
  ENDIF
RETURN
Also Absturz vorprogrammiert, wenn die DLL nicht gefunden wird, weil "?" keine GUI-Ausgabe ist.

Ich stecke grundsätzlich keine DLLs in ein Systemverzeichnis sondern nur in das Applikationsverzeichnis. Da wurde LL bisher immer problemlos gefunden.
Falls Du Export benutzt ist u.a. auch die cm32l8ex.llx erforderlich

Viele Grüße
Josef
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Seit Version 10 beinhaltet die Installation - endlich - ein \Redist-Verzeichnis, das auch von den Service-Packs aktualisiert wird. Ich liefere einfach den kompletten Verzeichnisinhalt mit der Installation aus. Registriert werden muß nix bei L&L, es sei denn, man nutzt es als ActiveX-Komponente, wovon ich dringend abraten würde.

@Rudolf: Dir fehlen noch die ganzen .LLX-Dateien. Das sind meiner Einschätzung nach ebenfalls DLLs, und vermutlich können die nicht mitgeladen werden.
Herzlich,
Tom
Benutzeravatar
Josef Stockinger
UDF-Programmierer
UDF-Programmierer
Beiträge: 53
Registriert: So, 25. Sep 2005 18:06
Wohnort: Nähe Regensburg
Kontaktdaten:

Beitrag von Josef Stockinger »

Hallo Rudolf,

ich liefere folgende L&L-Dateien aus:

Code: Alles auswählen

CM32CR8.DLL
CM32CT8.DLL
CM32DW8.DLL
CM32L8.DLL
CM32L8S.DLL
CM32MM8.DLL
CM32PR8.DLL
CM32UT8.DLL
cm32l800.lng
Cm32l8bc.llx
CM32L8EX.LLX
CM32L8HT.LLX
CM32L8OB.LLX
CM32L8PW.LLX
CM32L8O.oca
CM32L8O.OCX
CMBTL800.HLP
cmbtl800.inf
LLVIEW8.EXE
Installiert werden sie bei meinen Kunden im Programmpfad [AppName(.t.)].
Wichtig ist dabei: eine "CM32L8EX.LOG" wird im Systemverzeichnis geschrieben, egal wo die LL-Komponenten installiert sind. Das verlangt Schreibzugriff, zumindest auf diese Datei. Bei eingeschränkten Benutzerrechten ist daher ein Admin-Eingriff notwendig.

Ich habe noch keine LL-Parameter gefunden, mit denen der Pfad für diese Datei geändert werden kann. In diese Datei wird bereits bei Druckvorschau (bei mir Standard) geschrieben.

Gruß
Josef
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Josef.

Ich weiß nicht (mehr), wie's in der 8er aussah, aber in der aktuellen Version heißt die Log-Datei COMBIT.LOG, und über LlSetDebug() kann man bestimmen, ob und was geloggt wird.
Herzlich,
Tom
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf »

Danke an alle !
habe es gefunden, im Original ist in cmbtl8.prg folgender Code:


PROCEDURE L8ModuleInit()
hDll = DllLoad("CM32L8.DLL")
IF hDll == 0
? "CM32L8.DLL cannot be loaded"
ELSE
L8LoadTemplates()
ENDIF
RETURN



meine Abfrage war dann falsch, der Rückgabewert stimmt nicht:

if L8ModuleInit()
return .f.
endif

nach Änderung auf:

PROCEDURE L8ModuleInit()
hDll = DllLoad("CM32L8.DLL")
IF hDll == 0
msg_box("CM32L8.DLL cannot be loaded")
return .f.
ELSE
L8LoadTemplates()
ENDIF
RETURN .t.

hats funktioniert


Grüsse
Rudolf
Antworten