一個軟體開發失敗的經驗

  • 3871
  • 0
  • 2010-11-26

七、八年前, 我帶了兩個工程師進行一項專案...

七、八年前, 我帶了兩個工程師進行一項專案...

功能很簡單:
我們想提供一個元件 (ActiveX Control), 放到任何一個 VB程式的 Form裡面,
底層透過VNC protocol (http://www.realvnc.com/), 一行程式都不用寫,
就可以在有支援 VNC Client的機器上遠端瀏覽且控制這個 VB程式. 同時為了便利性, 我們也支援多人同時存取一台PC上同一個程式或不同程式的功能...

原理如下:
我們所提供的元件攔截同一 VB Form裡面所有 ActiveX Control的繪圖功能, 將其轉向至Double buffer, 並攔截VB程式中其特殊的滑鼠與鍵盤處理方式, 應用IPC,將這些傳至一個多執行緒的Socket程式, 再編成VNC protocol 傳送出去. 而遠端程式有所回應時, 此多執行緒的Socket程式可判斷是由哪一個Client 所發出, 並將相關訊息傳送至相關的VB程式...

經過好幾個月不眠不休的努力, 也 K了許許多多技術資料, 我們把雛型系統給建構出來...

但也遇到了一個既簡單卻也無解的問題...

那就是:
VB程式中所提供的十多個預設元件(如Button)為了執行效率的考量而沒有照ActiveX Control的規格來實作!!!
也就是說我們無法攔截到這些元件的繪圖訊息 !!!

我們浪費了兩個人年的時間做出一個沒用的玩具...

我好恨微軟的VB Team...

還好, 現在他們的 C# 和 .NET Framework 好多了...