我不知道你为什么会经历这种困难。 这应能帮助你...... 你们可以把我们的类别定义为OlegPublic,并将某些特性如顶样。 你们可以通过不是丹麦荷兰语的其他功能,在任何地方确定这些财产。
如果你要试图掌握其他一些“目标”的某些内容,则试图制造一个物体的事例,将其保留在OlePublic类的财产中。
DoSomethingElse
这是一种简单的非农产品市场准入要求“SomeObject”这一类财产。 尽管你没有明确地返回,但从你从VB.创立起就应该看到这一点。
DEFINE CLASS VFPClassForVB as Session OLEPublic
cTmpFiles = ""
cCOMUser = ""
SomeObject = ""
FUNCTION Init()
*/ Who is user... always ignore the machine....
This.cCOMUser = SUBSTR( SYS(0), AT( "#", SYS(0)) +1 )
This.cTmpFiles = "somepath"
*/ Unattended mode... any "MODAL" type dialog will throw error / exception
SYS(2335, 0 )
*/ ALWAYS HAVE EXCLUSIVE OFF FOR COM!!!
SET EXCLUSIVE OFF
*/ ALWAYS HIDE DELETED RECORDS!!!
SET DELETED ON
ENDFUNC
*/ Error handler at the CLASS level will always be invoked
*/ instead of explicit ON ERROR or TRY/CATCH handlers...
FUNCTION xError(nError, cMethod, nLine)
lcMsg = "User: " + SYS(0) + " Tmp:" + SYS(2023);
+ " Method: " + cMethod + " Error: " + STR( nError,5);
+ " Line: " + STR( nLine, 6 )
STRTOFILE( lcMsg, This.cTmpFiles + "COMLog.txt" )
*/ NOW, throw the COM Error...
COMReturnError( cMethod + Error: + str(nError,5);
+ Line: + str(nline,6);
+ Msg: + message(), _VFP.ServerName )
RETURN
HIDDEN FUNCTION SomeOtherFunction( lcWhat String,;
lnThing as Integer ) as String
*/ Do something
RETURN 1
ENDFUNC
*/ Another completely visible function direct form VB
FUNCTION DoSomethingElse( SomeParameter as String ) as String
USE SomeTable
*/ Now, this object should be visible as a direct property in VB
SCATTER MEMO NAME This.SomeObject
ENDFUNC
ENDDEFINE
页: 1
Sub Test()
Set objTest = CreateObject("MySampleProject.VFPClassForVB")
objTest.DoSomethingElse( "I dont care" )
dim Something as objTest.SomeObject.ColumnFromTable
End Sub
你可以在你想要揭露和在必要时制造这些事例的密码级图书馆中开设尽可能多的OlegPublic课程。 让我知道,这是否有助于你更接近,我们却试图让它停止工作。
我曾尝试过各种样本,但审视了你在VFP OleObject条目下拥有的物体,每个条目都暴露,可以单独制作。 你们不需要创造另一种东西。
难道有某种原因,你试图从另一个物体中制造一个物体? 你们可以有一个物体,暴露出一刀切的方法和财产,以履行世贸联合会所需要的一切。
如果你想要接触多个目标类别,并且处于中央控制之下,那么你就能够永远为通信创造主要目标,并且拥有信息技术为每一“其他”类别树立了榜样。 然后,暴露在你的主要班子上处理他们之间的通信的方法,以便消除你所需要的一切。