Domino 9 und frühere Versionen > ND6: Entwicklung

%Include

(1/2) > >>

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