Avatar billede noem Nybegynder
24. april 2007 - 11:56 Der er 2 kommentarer

Lave activeX der kan kører i egen tråd

Hej

Jeg vil gerne lave en activex Hvor jeg kan køre en en funktion uden at den kaldene klasse venter.. (ved ikke om dette giver nogen mening.... (spørg endelig hvis jeg ikke forklare mig godt nok)

et eksempel kan ses nedenfor:


private WithEvents objTest as minActiveX

public sub startMig

if ObjTest is nothing then
  set ObjTest = new minActiveX
end if

objTest.DoStuff() 'kalde metode der kan tage flere minutter

end sub

public sub StopMig

if ObjTest is nothing then
  set ObjTest = new minActiveX
end if

objTest.DontDoStuff() 'stopper metode der kan tage flere minutter

end sub

'Eventhandler
Private Sub objTest_Finished(Counts As Long)
    MsgBox "Der er talt til: " & Counts
End Sub
Avatar billede shy Nybegynder
24. april 2007 - 21:13 #1
Jeg har nogen gange lavet det således at min ActiveX har en Command buffer.
Jeg kunne derfor kalde ojbTest.Command("DoStuff")
Sub kunne se således ud: (CmdBuf er en global Collection i din ActiveX)

Dim CmdBuf As New Collection

Public Sub Command(Name As String)
CmdBuf.Add Name
End Sub

Dette gør at dit kald til ActiveX'en returnere med det samme.
Din ActiveX skal så stå og undersøge (måske 10 gange i sekundet) om der
er noget i command bufferen:

Private Sub Timer1
If CmdBuf.Count > 0 then
    If CmdBuf.Item(1) = "DoStuff" Then
        'Kald din DoStuff routine
    ElseIf CmdBuf.Item(1) = "DoNogetAndet" Then
        'Kald DoNogetAndet
    EndIf
   
    CmdBuf.Remove(1)
EndIf
End Sub

Endelig skal din ActiveX være af typen ActiveX.exe
Håber du fatter max!
Avatar billede noem Nybegynder
26. april 2007 - 08:33 #2
Hej Shy

ActiveX'en skal være en der skal være tilgænglig for kunder, derfor syntes jeg ikke helt at løsningen holder...

jeg går og overvejer en flertrådsløsning med at wrapperklasse skrevet i dotNet..

men ville egentlig fortrække en pæn ren løsning i vb6
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester