Function 指向对象的指针。如何管理函数或过程中对对象的真实引用并将其返回?

Function 指向对象的指针。如何管理函数或过程中对对象的真实引用并将其返回?,function,pointers,arguments,gambas,Function,Pointers,Arguments,Gambas,我需要维护一个对象引用数组,并将每个项传递给函数来管理它。我知道我可以做这样的事情: Dim arrObjs As MyObject[] Dim refObj As MyObject arrObjs.Add(New MyObject) 'First reference to the Object. refObj=arrObjs[0] 'Second reference to the same Object. 我认为这是正确的,但在阅读Gambas对象模型文档时,我

我需要维护一个对象引用数组,并将每个项传递给函数来管理它。我知道我可以做这样的事情:

Dim arrObjs As MyObject[]  
Dim refObj As MyObject

arrObjs.Add(New MyObject) 'First reference to the Object.  
refObj=arrObjs[0]         'Second reference to the same Object.  
我认为这是正确的,但在阅读Gambas对象模型文档时,我了解到当通过引用传递参数(ByRef)时,没有涉及指针。相反,该值在函数内部复制,然后在函数完成后再次复制到函数外部。例如:

Sub manageObject(ByRef refObj As MyObject)  
    .....  
End  
通话时间:

manageObject(ByRef arrObjs[0])  
如何管理过程中对象的真实引用?有这样的事吗

Dim obj As New MyObject        'Correct  
Dim objInstance As MyObject    'Correct  
Dim refObj as Pointer          'Correct  

refObj=varPtr(obj)             'NOT Correct, but i would like  
objInstance=Object@(refObj)    'NOT Correct, but i would like  
使用新创建的对象创建后,可以使用此对象的方法和读/写属性:

arrObjs[0].method()   
arrObjs[1].property=value
请参阅和带有:
对象数组可以由公共数组共享。
使用handles或reference时,您可以编写以下内容:

hinstance = arrObjs[0]
然后:

hinstance.method()

请尝试在编写代码时使用代码块和内联代码块。请检查