-> Hier kostenlos registrieren
Hallo,
ihr seit meine letzte Hoffnung.
Bisher hatten wir das WinCC-Projekt auf einer Windows 2000 Maschine mit WinCC 5.1. Da nun XP installiert wurde, ist nun WinCC 6 SP4 im Einsatz. Das alte Projekt wurde mit dem Migrator auf den neuesten Stand gebracht. Es funktioniert alles, außer der Zugriff von einer Combobox auf das Userarchiv.
Im Detail sieht das so aus. Die Combobox wurde mit Visual Basic 5 erstellt und in WinCC verwendet. Diese Combobox wird normalerweise gefüllt mit Daten aus dem Userarchiv. Daten sind im Archiv auf jeden Fall vorhanden. Klickt man nun im Runtimemodus auf die Combobox hängt sich die Runtime auf.
Ich vermute, das XP das Problem nicht verursacht. Wahrscheinlicher ist mir, das mit diesem VB nicht mehr in dieser Art auf das Userarchiv zugegriffen werden kann.
Da ich ein absoluter Laie in Sachen VB bin, komme ich einfach nicht weiter. VB5 hatte ich nicht zur Hand. Ich habe den Quellcode mit VB6 geöffnet. Das klappte ohne Probleme. Wenn ich den Code jetzt ausführe, kommt ein Runtime Error: Method 'QueryArchive' of object 'IUsrAcv' failed.
Hier mal die Procedur DropDown:
An dieser Stelle hängt sich das VB-Projekt sprich die ComboBox auf: uarc.QueryArchive Trim(m_Archive), arc
Vielleicht ist auch noch die vorherige Procedur interessant.
UserArchiv ist selbstverständlich im Anlauf dabei, also gestartet.
Habt ihr vielleicht dazu einen Rat. Wie gesagt, vorher mit Windows 2000 + WinCC 5.1 hats funktioniert. Nun mit XP und WinCC 6 SP4 ist die Funktion nicht mehr gegeben.
Gruß
Michael
ihr seit meine letzte Hoffnung.
Bisher hatten wir das WinCC-Projekt auf einer Windows 2000 Maschine mit WinCC 5.1. Da nun XP installiert wurde, ist nun WinCC 6 SP4 im Einsatz. Das alte Projekt wurde mit dem Migrator auf den neuesten Stand gebracht. Es funktioniert alles, außer der Zugriff von einer Combobox auf das Userarchiv.
Im Detail sieht das so aus. Die Combobox wurde mit Visual Basic 5 erstellt und in WinCC verwendet. Diese Combobox wird normalerweise gefüllt mit Daten aus dem Userarchiv. Daten sind im Archiv auf jeden Fall vorhanden. Klickt man nun im Runtimemodus auf die Combobox hängt sich die Runtime auf.
Ich vermute, das XP das Problem nicht verursacht. Wahrscheinlicher ist mir, das mit diesem VB nicht mehr in dieser Art auf das Userarchiv zugegriffen werden kann.
Da ich ein absoluter Laie in Sachen VB bin, komme ich einfach nicht weiter. VB5 hatte ich nicht zur Hand. Ich habe den Quellcode mit VB6 geöffnet. Das klappte ohne Probleme. Wenn ich den Code jetzt ausführe, kommt ein Runtime Error: Method 'QueryArchive' of object 'IUsrAcv' failed.
Hier mal die Procedur DropDown:
Code:
Private Sub Combo1_DropDown()
'Call MsgBox("Hello")
If Ambient.UserMode Then
Set mcp = CreateObject("WinCC-Runtime-Project")
If mcp Is Nothing Then Exit Sub
'Set uarc = CreateObject("UsrAcv.UsrAcv.1")
'Set arc = CreateObject("Archive.Archive.1")
'Call setarc(uarc, arc)
Call setarc
uarc.QueryArchive Trim(m_Archive), arc
arc.Open
' Suche Index der DisplayColumn
On Error GoTo Fehler
iDisplayColumn = 1
found = 0
While (iDisplayColumn < arc.Fields) And (arc.FieldName(iDisplayColumn) <> m_Column)
iDisplayColumn = iDisplayColumn + 1
found = 1
Wend
' Suche Index der CheckColumn
If (m_UseCheck) Then
iCheckColumn = 1
found = 0
While (iCheckColumn < arc.Fields) And (arc.FieldName(iCheckColumn) <> m_CheckColumn)
iCheckColumn = iCheckColumn + 1
found = 1
Wend
End If
ip = 1
Combo1.Clear
frei_set = 0
While Not arc.EOF
arc.Move (ip)
If (m_UseCheck) Then
' Nur Werte <> Checkvalue eintragen
If (arc.FieldValueString(iCheckColumn) <> m_CheckValue) Then
Combo1.AddItem arc.FieldValueString(iDisplayColumn)
End If
Else ' Alle Werte eintragen (EmptyValue ("frei") nur 1x)
If (Trim(arc.FieldValueString(iDisplayColumn)) = Trim(m_EmptyValue)) Then
frei_set = 1
Else
' Normal hinzufügen
Combo1.AddItem arc.FieldValueString(iDisplayColumn)
End If
End If
ip = ip + 1
Wend
'Call MsgBox("Hallo", vbOKOnly)
Fehler:
arc.Close
' "frei" hinzufügen
If (frei_set = 1) Then
Combo1.AddItem m_EmptyValue
End If
index = 0
For i = 0 To Combo1.ListCount - 1
If Combo1.List(i) = m_Selected Then
index = i
Exit For
End If
Next i
If (index > 0) Then
Combo1.ListIndex = index
End If
'Call MsgBox(m_Selected, vbOKOnly)
'Timer2.Enabled = True
End If
End Sub
An dieser Stelle hängt sich das VB-Projekt sprich die ComboBox auf: uarc.QueryArchive Trim(m_Archive), arc
Vielleicht ist auch noch die vorherige Procedur interessant.
Code:
Private Sub setarc()
On Error GoTo Fehler
Set uarc = CreateObject("UsrAcv.UsrAcv.1")
Set arc = CreateObject("UAArchive.UAArchive.1")
Exit Sub
Fehler:
Set uarc = CreateObject("UsrAcv.UsrAcv.1")
Set arc = CreateObject("Archive.Archive.1")
End Sub
UserArchiv ist selbstverständlich im Anlauf dabei, also gestartet.
Habt ihr vielleicht dazu einen Rat. Wie gesagt, vorher mit Windows 2000 + WinCC 5.1 hats funktioniert. Nun mit XP und WinCC 6 SP4 ist die Funktion nicht mehr gegeben.
Gruß
Michael
Zuletzt bearbeitet: