有关VB.NET中Addressof的有关问题

有关VB.NET中Addressof的问题
Private   Declare   Function   CreateThread   Lib   "kernel32 "   (   _
        ByVal   lpThreadAttributes   As   Long,   ByVal   dwStackSize   As   Long,   ByVal   lpStartAddress   As   Long,   _
        ByVal   lpParameter   As   Long,   ByVal   dwCreationFlags   As   Long,   ByVal   LpthreadId   As   Long)   As   Long

上面这个创建线程的API函数,在VB6中我可以这样调用它:
meTheard.Handle   =   CreateThread(LongNull,   LongStackSize,   AddressOf   RunURL0,   LongNull,   LongCreationFlags,   LpthreadId)

在.NET中它提示: "Addressof "表达式不能转换为 "Long ",因为 "Long "不是委托类型。

小弟我是刚从VB6转到.NET,还请大家多多指教。

------解决方案--------------------
实例化个delegate,AddressOf RunURL0 处写委托变量
如:(仅供参考)
Delegate Sub MyDelegate(ByVal str As String)
...............

Dim mysub As New MyDelegate(AddressOf aaa)
...............
meTheard.Handle = CreateThread(LongNull, LongStackSize, mysub, LongNull, LongCreationFlags, LpthreadId)

...............

Private Sub aaa(ByVal str As String)

End Sub
------解决方案--------------------
好像不是,AddressOf RunURL0是代理调用了一个过程,没有返回值,但是你的参数要求你返回一个Long类型,无法转换,不太明白为什么你的VB6能这么做
------解决方案--------------------
see
System.Threading.Thread