Och när du single-steppar genom doLoginUser så verkar allt OK, och du är hela tiden precis där du borde vara i if-satserna? Sen borde du kanske även skriva frmMain.MousePointer = .. iom att du inte befinner dig i formuläret.
Jag har ett formulär (frmMain) som utgör det huvudsakliga användargränssnittet. För att skilja GUI-kod från annan kod har jag en separat modul för detta (clientFunctions).
Så länge koden låg i frmMain så kunde jag ändra text i statusbar, ändra text på knappar i toobar och ändra ikon på muspekaren, men så fort jag lade ut koden i en modul så fungerar inte detta längre. Jag får inget fel, men det fungerar inte bara. Hur ska jag göra?
Jag har försökt att skriva en setStatus-funktion i frmMain som kan anropas från clientFunctions, men det verkar omständigt (och funkade inte heller förresten...)
Här är koden i clientFunctions:
Sub doLoginUser()
If frmMain.Toolbar1.Buttons(1).Caption = "Anslut" Then
'---Skickar förfrågan om att logga in som extern användare
strXMLcf = "<Container>"
...
strXMLcf = strXMLcf & "</Container>"
oXMLcf.loadXML (strXMLcf)
frmMain.sbStatusBar.Panels(1).Text = "Ansluter till server..."
MousePointer = vbHourglass
Set oXMLcf = SOAPInterface.sendRequest("LoginUser", oXMLcf)
MousePointer = vbNormal
If InStr(1, oXMLcf.xml, "<faultcode>", 1) Then
...
Else
frmMain.Toolbar1.Buttons(1).Caption = "Koppla ner"
frmMain.sbStatusBar.Panels(1).Text = "Ansluten till server."
End If
ElseIf frmMain.Toolbar1.Buttons(1).Caption = "Koppla ner" Then
frmMain.Toolbar1.Buttons(1).Caption = "Anslut"
frmMain.sbStatusBar.Panels(1).Text = "Kopplar ner anslutning"
MousePointer = vbHourglass
frmMain.sbStatusBar.Panels(1).Text = "Nedkopplad"
MousePointer = vbNormal
End If
End Sub
Varför uppdateras inte muspekare, text på knappar eller statusttext?
/M.