从vb/a调用arx函数
大家好,我想从vb或vba调用一个arx函数,并将一个对象ID或句柄数组作为参数传递,这是可能的还是有其他方法可以做到这一点此处';这是我到目前为止所拥有的,虽然很粗糙,但应该能让你了解我';m之后
[代码0),arx函数sig为-
void DCSMoveObjects(AcDbObjectIdArray*id)
从arx(dll)导出并进行测试,可以在没有arg的情况下调用;但那是#039;它对我的需求不是很有用,只是用于测试。谢谢。米克。我知道我可以在arx中进行sset,但我可能需要获得id;来自用户选择以外的其他来源。
能否将ARX函数暴露于lisp,然后通过VBA hehe评估lisp。路易斯真的很擅长com,也许他能帮上忙; Mick,
这是我很久以前写的东西,我看起来我将其实现为一个ATL类(虽然这不是我记忆中的方式),但它可能会给你一些关于如何处理数组的线索。
我可能,今天晚些时候可以写点东西(在ATL中,但我看到Chuck已经发布了一些东西)让我知道……但今天,我刚开始我的新工作,所以我将只阅读什么';这里发生了什么。。。。 谢谢大家
Chuck,我稍后会理解这一点,我真的试图避免COM,因为我以后可能会有64位问题,但据我所知,我仍然可以从vb/a调用dll…但我';我只推测最坏的情况,我会写id#039;s/handles到一个文件并从arx打开它,这应该可以避免这些问题。
干杯,
Mick。
您好,Mick,这里是一个示例,有两个函数,如果您需要Visual Studio ATL解决方案示例,请告诉我。 谢谢你,路易斯
我可以将一个ATL对象添加到我的arx项目中以使其工作吗?或者我需要为一个包含idl文件的COM接口设置一个新项目吗?
这是我要做的,以防万一…
因此,我从来没有使用过arx向导,我使用VS->;添加类->;ATL简单对象->;用类名填写表单->;在support下选择ISupportErrorInfo,然后,arx向导(对我来说)也无法添加任何新方法,因此我只需转到IDispatch下的idl文件,手动放置我的方法调用(就像我也为我的函数调用做的一样,我上一个示例中的调用):
HRESULT GbPolySS( VARIANT ids, BSTR LayerName, BSTR LayerNameOut, double dtol, short poltip, double areamin, short inpol, short outpol, short dirpolhor, VARIANT *objids);
HRESULT GbPolyPT( VARIANT pt, BSTR LayerName, double dtol, short poltip, double areamin, short dirpolhor, LONG *objid);
我认为';是的,(记忆中)。。。。 谢谢路易斯,我';我试试看。 谢谢各位,我在创建启用COM的项目后添加了一个ATL对象,该对象可以很好地使用。干杯,Mick。
页:
[1]