Domino 9 und frühere Versionen > ND6: Entwicklung
%Include
Johnson:
Hallöchen,
unter http://atnotes.de/index.php?topic=16387.0 wird ja schon einiges über dieses Thema gesagt.
Ich stehe jetzt vor folgendem Problem:
Können LS-Libraries auf diese Weise plattformabhängig eingebunden werden?
Ich denke da an %If WIN32 ...
Hintergrund:
Einige Prozeduren einer Library verwenden die ODBC-Klassen von LS.
Diese LS-Library sollte auch in einem Agenten eingebunden werden, verwendet allerdings die ODBC-Prozeduren nicht. Die Zeile Uselsx "*LSXODBC" wirft wärend der Laufzeit auf dem Server einen Fehler.
Jetzt dachte ich mir, erstelle einfach eine LSS-Datei, binde die "nlsxodbc.dll" je nach Plattform ein (mit %If WIN32 soll das ja möglich sein) und binde dann die LSS-Datei mit %INCLUDE ein.
=> "Error loading USE or USELSX module: *LSXODBC"
mrtachles:
Hi,
ich habe für solche Zwecke ein Lib, die eine Funktion zum dynamischen Einbinden von anderen Libs bietet. Brauche ich nun die entspr. Funktionen, die in einer Lib drin sind, nur unter Windows, rufe ich die Funktion ggf. auf und binde die Win-Spezifische Lib ein.
Function UseLib ( Byval argClassName As String ) As Variant
If Not Iselement ( factories ( argClassName ) ) Then
Dim script As String
script = | Use "| & argClassName & |"
Sub Initialize
Set newObj_Factory = New | & argClassName & |Factory
End Sub
|
Execute ( script )
Set factories ( argClassName ) = newObj_Factory
End If
Set newObj = factories ( argClassName ).produce
End Function
Johnson:
Super!! Danke!! Es funkt.
Mein Fehler bei dieser Methode war immer, daß ich die Variablen nicht global Deklariert habe.
Somit wurden Objekte nach dem Execute terminiert.
Es tut, es tut, es tut, es tut ;D
Johnson:
Allerdings tut´s ohne Syntaxüberprüfung beim Compilieren, da die Objekte in einem Variant zurückgegeben werden. :-\
Das kann u.U. zu Fehlerquellen führen.
Aber den Tod sterbe ich gern.
mrtachles:
prima.
Aber wer arbeitet schon mit Syntaxprüfung ;D.
Dann macht das Testen ja nur halb so viel Spaß
Gruss
Thomas
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln