2017-01-04 93 views
0

我有一个single-threaded COM DLL内置和编写在VisualFoxPro,我想使用从DLL的程序在C#胜利形式的应用程序。使用FoxPro编写的DLL在C#windows窗体应用程序

现在是不是添加到DLL的引用的问题,但如果我想使用DLL像我通常

using System; 

等做到这一点,新引用的DLL将不显示向上。

有没有可能引用或包含VFP编写的DLL?

然后从它调用过程呢?

或者我需要从我的项目中导入DLL,从那里引用它,我需要改变我的VS中的东西吗?

可悲的是,我的研究没有带来任何结果,只有相反的方式,这并没有帮助我。

回答

2

您不能使用managed code这样的库,但是您可以使用非托管代码和非可操作性。

首先,了解一些interoperability basics,再看看一些使用FoxPro的库

+0

对不起,但我想你误会了我。我在FoxPro中编写了一个DLL,并希望在即将编写的C#应用​​程序中使用该DLL。你的例子与我搜索的内容相反。 – DatRid

+0

第二个链接包含两种方式 - 从c#使用FoxPro dll,反之亦然 – Nino

+1

@DatRid,我之前跳过了评论,因为Nino已经给出了答案。看起来你首先没有创建olepublic。创建olepublic类,然后简单地使用tlbimp.exe让你的dll在.Net中可用。但是,如果你问我,FWIW不会创建和使用来自.Net的VFP dll,而是用C#编写你的代码(至少这是我以艰苦的方式学到的教训)。 –

2

让我们回到了几年的例子,从我请记住,如果引用良好,则需要在VFP编译的dll中创建OlePublic对象的INSTANCE。然后,从该对象实例中,您应该能够访问并调用您公开的函数和过程。先尝试一下,我会试着看看我能挖掘出什么。

+0

好的,谢谢,我会试试看。 (只有班级是OlePublic可定义的?)不需要急,今天我不能再给你更多的反馈,但我明天会回来的! – DatRid

+0

@DatRid,查看来自Nino第二个例子的链接。来自Code杂志的团队深谙VFP世界,并展示OlePublic创建一个类的示例代码,并可供在网上使用。基础是一样的。一个类,作为OlePublic,然后你可以从中揭露出来。让我知道你明天会从中取得哪些进展,如果需要的话,会尝试获得更具体的例子......也许通过聊天或直接发送电子邮件。 – DRapp

相关问题