作者jerki (~~~~~~~气质阿翔~~~~~~~)
看板C_Sharp
标题[问题] C#使用eVC dll档
时间Sat Nov 18 11:56:25 2006
最近在尝试把Sync4j client PPC的专案用C#直接取用
但是就遇到一些问题。。希望板友高手能给予建议与协助> <
小弟先将Sync4j的专案作些说明
Sync4j是一种以SyncML通讯协定作同步机制的应用程式,Server部分是用Java撰写
而我用的是PPC上 client的部份,
在原始专案资料夹内有mainclientDll、clientVB、Launcher三个资料夹
目前知道clientVB内本来是提供这程式UI的部份、
Launcher内含有整个Sync4jclient的WinMain,也就是程式进入点
mailclientDll\build\mainclientDll内有小弟目前使用的专案档,
目前在eVC上compiler linking成功,在ARMV4Dbg(debug)内有mainclientDll.dll档案
在C#直接以P/Invoke直接取用却频频出现下列讯息:找不到PInvoke DLL mainclient.dll
我在C#是这样写的
using System.Runtime.InteropServices;
namespace DeviceApplication1
{
public partial class Form1 : Form
{
[DllImport("mainclientDll.dll")]
unsafe public static extern int synchronization(string vbErrorMsg,
StringBuilder path);
static int cb = 256; ^^^^^请接上一段
StringBuilder sb = new StringBuilder(cb);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
String s1="123";
String s2="321";
textBox1.Text = "OK!!!";
synchronization(s1,sb);
}
}
}
我的观点是这样,mainclientDll只算是一个函式库,因为这专案是以另外一个Launcher
资料夹的专案WinMain作进入点,因此dll内并无程式进入点,
所以想直接使用linking过後产生的dll档来汇入,并使用它提供的函式
不晓的这样是否可行。。
以上就是小弟想请求协助的部份。。小弟快想破头了。。。
若爱莫能助也感谢各位看完^^
下面是相关档案,也许您会想看一下,但前提必须您要有eVC才能开他的专案喔
这是Sync4jclientPPC的原始专案
http://www.sendspace.com/file/q1v3vk
这是小弟自己在eVC 编译与连结後的debug资料夹档案
http://www.sendspace.com/file/fitsxn
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.225.233.37