RC4: Abholen von Parametern

29/11/2012 - 16:27 von Lothar Geyer | Report spam
Ich will eine Property aus einer Klasse, die als Thread làuft, abholen.
Das mache ich (mit vielen Umstànden) so:

Public Function Count(Params) As Boolean
Dim tLong As Long

tLong = wFetchMailCache.Count
Params(0) = tLong
MsgBox "*** wFetchMailCache.Count: " & tLong & "=" & Params(0),
vbInformation
Exit Function

End Function

wFetchMailCache ist eine einfache Collection. Im Hauptprogramm ist ein
Aufruf:

Dim PArr(0) As Variant
PArr(0) = 0
FetchMailThread.CallSynchronous "Count", PArr
If CLng(PArr(0)) > 0 Then DoIt = False

Die obigen Umstànde deshalb, weil ich immer eine Null zurück bekomme,
auch wenn die MsgBox zwei Mal eine Sechs liefert. Und ich steh' mal
wieder auf dem Schlauch :-(

Lothar Geyer
 

Lesen sie die antworten

#1 Lothar Geyer
30/11/2012 - 07:11 | Warnen spam
Ich habe nun eine Lösung gefunden, die aber meine Fragen nicht
beantwortet. Der Object-Browser sagt zwar, dass .CallSynchronous keinen
Wert zurück gibt, trotzdem funktioniert

Am 29.11.2012 16:27, schrieb Lothar Geyer:
Ich will eine Property aus einer Klasse, die als Thread làuft, abholen.
Das mache ich (mit vielen Umstànden) so:

Public Function Count(Params) As Boolean
Dim tLong As Long

tLong = wFetchMailCache.Count
Params(0) = tLong
MsgBox "*** wFetchMailCache.Count: " & tLong & "=" & Params(0),
vbInformation
Exit Function

End Function



wurde

Public Function Count(Params) As Long
Dim tLong As Long

tLong = wFetchMailCache.Count
Count = tLong

End Function

wFetchMailCache ist eine einfache Collection. Im Hauptprogramm ist ein
Aufruf:

Dim PArr(0) As Variant
PArr(0) = 0
FetchMailThread.CallSynchronous "Count", PArr
If CLng(PArr(0)) > 0 Then DoIt = False



wurde

Dim PArr(0) As Variant
tCnt = FetchMailThread.CallSynchronous("Count", PArr)
If tCnt > 0 Then DoIt = False

Was aber trotzdem nicht ermöglicht, mehrere Parameter abzurufen. Also z.B.

Public Function getFetchTimes(Params) As Boolean
Dim p1 As Long
Dim p2 As Boolean
Dim P3 As Date
Dim P4 As Date

p1 = Params(0)
wFetchMailCache.getFetchTimes p1, p2, P3, P4

Params(1) = p2
Params(2) = P3
Params(3) = P4

getFetchTimes = True

End Function

Muss ich da wirklich jeden Wert einzeln zurückgeben?

Lothar Geyer

Ähnliche fragen