[問題] C#使用eVC dll檔

看板C_Sharp (C#)作者 (~~~~~~~氣質阿翔~~~~~~~)時間19年前 (2006/11/18 11:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
最近在嘗試把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
文章代碼(AID): #15NeDU1_ (C_Sharp)
文章代碼(AID): #15NeDU1_ (C_Sharp)