線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:5316
推到 Plurk!
推到 Facebook!

WinIO 的應用程式在不同做業系統環境下執行的問題

尚未結案
hclin999
一般會員


發表:1
回覆:3
積分:0
註冊:2004-09-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-24 12:04:42 IP:61.30.xxx.xxx 未訂閱
小弟在網路上取得 winio v2.0 -- Yariv Kaplan 版 寫一程式後, 將此程式安裝於 Win98Se, WinMe, Win2000 sp2 三種環境之下, 皆動作良好, 沒問題. 可是安裝於 WinXp-Pro版之下, 同樣的.exe檔一執行, 就會出現 "EAccessViolation" 的錯誤訊息. 我的 BCB 是 5.0版寫的; 對WinNT平台,我也特別用 winIo 說明文件所推薦的 方式 : "InstallWINIoDriver()" 及 "RemoveWinIoDriver()" 來安裝, 但是情況依舊. 各位大俠有遇過上述的情況並解決了嗎? 若有, 能否告知解決之法? 小弟不勝感激
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-03 22:13:02 IP:211.76.xxx.xxx 未訂閱
那您有試過使用他提供的範例所使用的方法:
  // Call InitializeWinIo to initialize the WinIo library.
  bResult = InitializeWinIo();
  if (bResult)
  {
    // 您的 IO 操作        // When you're done using WinIo, call ShutdownWinIo
    ShutdownWinIo();
  }
我看它的 VB 範例也是用相同的方法。 要用 InstallWinIoDriver() 是用於安裝 WinIO Driver 於系統,並每次開機 Driver 都自動啟動。RemoveWinIoDriver() 則是用於移除 WinIO Driver。而這只在使用 WinIO 於非 Administrator 權限時,才需要, 在 WinIo.chm → Using WinIo → Using WinIo from a non-administrative account 中有說明。 而在程式內,應該都只用到 InitializeWinIo 及 ShutdownWinIo 來初始及結束即可。 吃軟也吃硬 dllee.ktop.com.tw StatPlus 系統資源監測器 @ KTOP OpenPLC - IEC 61131-3 geOShell XP Like 中文版
------
http://www.ViewMove.com
hclin999
一般會員


發表:1
回覆:3
積分:0
註冊:2004-09-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-07 19:07:51 IP:61.30.xxx.xxx 未訂閱
謝謝回應.    如您所言, 當 InitializeWinIo()==false時, 我就秀出錯誤訊息,然後直接關閉應用程式, 所以, 連I/O 操作及 ShutdownWinIo() 都不可能執行到. 問題是沒有秀出"我的"錯誤訊息. 另外,如同其說明所言, 我還特別寫了獨立的一支簡單的程式, 用於安裝與移除來使用, 內容就是InstallWinIoDriver() 與 RemoveWinIoDriver()這兩者,搭配一般的安裝程式產生器打包成 Setup.exe 即可對 NT平台且非Administrator 權限的使用者做Install的限制.這些我都有注意到, 可惜還凸鎚.  最後我放棄 WinIO, 為了幾種Driver寫了幾支測試程式, 在測試後,選了適當的Driver, 將它併到我的應用程式之中才解決.    我非常確定 XP平台與 NT/2000 之間的改變蠻大的,我原本用mutex來限制應用程式多次執行,98SE/ME/2000都OK, 在XP之下竟然失效. 真不曉得還有什麼問題會出現. 微軟---唉!     
引言: 那您有試過使用他提供的範例所使用的方法:
  // Call InitializeWinIo to initialize the WinIo library.
  bResult = InitializeWinIo();
  if (bResult)
  {
    // 您的 IO 操作        // When you're done using WinIo, call ShutdownWinIo
    ShutdownWinIo();
  }
我看它的 VB 範例也是用相同的方法。 要用 InstallWinIoDriver() 是用於安裝 WinIO Driver 於系統,並每次開機 Driver 都自動啟動。RemoveWinIoDriver() 則是用於移除 WinIO Driver。而這只在使用 WinIO 於非 Administrator 權限時,才需要, 在 WinIo.chm → Using WinIo → Using WinIo from a non-administrative account 中有說明。 而在程式內,應該都只用到 InitializeWinIo 及 ShutdownWinIo 來初始及結束即可。 吃軟也吃硬 dllee.ktop.com.tw StatPlus 系統資源監測器 @ KTOP OpenPLC - IEC 61131-3 geOShell XP Like 中文版
Joery
一般會員


發表:16
回覆:16
積分:6
註冊:2004-12-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-08 04:24:01 IP:59.104.xxx.xxx 未訂閱
那如果在LTP硬體還沒完成 可以拿來測試嗎 就是能不能測試用WinI/O來收發訊號 有沒有人有類似的小範例檔呀 可以寄給我嗎^__^ joerylin@yahoo.com.tw
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-08 09:56:30 IP:203.204.xxx.xxx 未訂閱
問題解決就好。    而我的應用程式一樣用 mutex 作單一執行,但在 2000/XP 都是可以用的, 沒有因 XP/SP2 而有改變...    吃軟也吃硬 dllee.ktop.com.tw StatPlus 系統資源監測器 @ KTOP OpenPLC - IEC 61131-3 geOShell XP Like 中文版
------
http://www.ViewMove.com
hclin999
一般會員


發表:1
回覆:3
積分:0
註冊:2004-09-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-14 00:29:13 IP:61.30.xxx.xxx 未訂閱
您要的測試程式已經寄出,有點晚,希望對你有幫助. 至於您的問題,我沒試過,我是用LED來測的. 不過,聽說有一支portmon之類的程式,你可以試試看.    
引言: 那如果在LTP硬體還沒完成 可以拿來測試嗎 就是能不能測試用WinI/O來收發訊號 有沒有人有類似的小範例檔呀 可以寄給我嗎^__^ joerylin@yahoo.com.tw
系統時間:2024-04-19 8:37:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!