Zunächst einmal Danke für die Antwort, aber ich glaube, dass mein Problem noch ein wenig unklar ist.
Daher habe ich die Skript-Texte (in Kurzform) hier beigefügt.
Meiner Meinung nach ist das eigentliche Problem: Das Objekt oUDIM aus Skript 1 ist im Skript 2 nicht verfügbar, somit wird die Initialisierung nicht übernommen. Die Initialisierung muss jedoch außerhalb des DAC-Skripts (2) mit Hilfe von Anwendervariablen stattfinden und anschließend an den DAC-Skript übergeben werden. Kann das Objekt oUDIM irgendwie übergeben werden?
1. Skript: Hauptprogramm, welches Anwenderdialoge aufruft sowie die Schnittstelle mit den entsprechenden Parametern initialisiert
Sub SFD_Init( DeviceParam1V, DeviceParam2V, ErrorP )
Set oUDIM=CreateObject("DIAdem.SFD.UDI" )
If( Treibername_ = "COM" )then
Call oUDIM.Open( Treibername_, DevicenameCOM_ )
Call oUDIM.ParamSet( "BAUDRATE", Baudrate_ )
Call oUDIM.ParamSet( "PARITY", Parity_ )
Call oUDIM.ParamSet( "DATABITS", Databits_ )
Call oUDIM.ParamSet( "STOPBITS", Stopbits_ )
Call oUDIM.ParamSet( "DELIMITER", Delimiter_ )
Else
If( Treibername_ = "GfS GPIB" ) then
......
Else
If( Treibername_ = "NI GPIB" ) then
......
Else
If( Treibername_ = "TCP/IP" ) then
......
Else
Call MsgBox ("Keinen gültigen Treiber ausgewählt!")
End If
End If
End If
End If
End Sub
'-------------------------------------------------------------------------------
'Hauptprogramm, welches abgearbeitet wird.
'Hier wird zunaechst die Anwendervariablendatei aktiviert, dann wird der Eingabedialog
'zum Parametrieren der Schnittstelle aufgerufen, und bei Abschluss der Eingabe mit OK
'wird die Schnittstelle initialisiert und die Messung gestartet.
'Bei Abbruch wird die Messung nicht gestartet.
'-------------------------------------------------------------------------------
Call USERVARCOMPILE(Variablendatei_Name,"new") 'Aktivieren der Anwendervariablen
Call SudDefLoad(Dialog_Pfad) 'Dialog laden
Call SudDlgShow("Dlg1") 'Dialog starten
If Not DlgState = "IDCancel" Then
Call SFD_Init()
Call SCHEMELOAD("Messung_allgemein_1.1.DAC") '... SCHEMEFILE
Call SCHEMECHECK("normal")
Call SCHEMEMEASTEST() 'Starten der Messung
End If
2. Skript: DAC-Treiberskript mit Standard-Prozedur zum Auslesen der Schnittstelle
Sub SFD_DeInit(ErrorP )
oUDIM.Close()
Set oUDIM = Nothing
End Sub
'------------------------------------------------------------------------------
Sub SFD_ReadChannel( ChannelNumberP, ParamP, DataP, ErrorP )
Dim sgAntwortT
sgAntwortT = oUDIM.Read()
DataP = oUDIM.Parse(sgAntwortT,"%c %c %c %c %AD")
End Sub