[問題] 使用外部dll

看板Ruby作者 (壁虎貓耳控)時間13年前 (2011/12/11 22:54), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/2 (看更多)
環境: Ruby1.9.3 Win32-api1.4.8 DevC++5.0.0.8 狀況: 因為之後想寫個遊戲於是想說能不能把資料庫放在dll裡 需要資料就呼叫dll把資料拿出來 (好像多此一舉 本來就有資料庫可以用...) 於是我就做了實驗 用c++編譯了一個db.dll 給db一個int會回傳一個字串 像是 SCRIPT(1) #=> "1,1,test" (只是實驗用 名稱就...) 於是test.rb就是:(使用內建的函式庫) require "Win32API" puts Win32API.new('db','SCRIPT','I','P').call(1) gets 卻出現了: C:/Ruby193/lib/ruby/1.9.1/Win32API.rb:14:in `[]': unknown symbol "SCRIPT" (Loadrror) 我只好改用Win32-api(下載的gem) 程式碼是這樣: require "win32/api" puts Win32::API.new('SCRIPT','I','P','db').call(1) gets 可是結果變成: 1.rb:2:in `initialize': Unable to load function 'SCRIPT', 'SCRIPTA', or 'SCRIPTW' (Win32::API::LoadLibraryError) 我搞不清楚是怎麼回事 查英文資料也查不太到 好像只有我有這個問題 有哪位高手研究過這個嗎? 幫小弟說明一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.232.142.58

01/12 09:48, , 1F
Beep = Win32API.new('kernel32', 'll', 'i')
01/12 09:48, 1F

01/12 09:49, , 2F
Beep.call(456,500)
01/12 09:49, 2F
文章代碼(AID): #1EvCH3Iu (Ruby)
討論串 (同標題文章)
文章代碼(AID): #1EvCH3Iu (Ruby)