全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3107
推到 Plurk!
推到 Facebook!

請教一個VB轉為BCB的一段程式碼

缺席
HomeSound
中階會員


發表:44
回覆:178
積分:94
註冊:2002-08-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-06-28 23:17:02 IP:219.80.xxx.xxx 訂閱
原VB程式片段
[code vb]
Begin VB.PictureBox view
Height = 3375
Left = 120
ScaleHeight = 3315
ScaleWidth = 4635
TabIndex = 8
Top = 120
Width = 4695
End
Dim m_obj_handle As Long <<-這個型態變數於BCB是這樣開嗎? long *m_obj_handle;
Dim m_is_run As Boolean

Private Sub run_Click()
If m_is_run = False Then
result = m_ocx.SetDeviceProtectionKey(protection_key.Text)
result = m_ocx.SetOCXProductKey("404993567672148997246334")
result = m_ocx.SetDeviceProperties("DVR", ip.Text, username.Text, password.Text, 1)
result = m_ocx.AddObject(m_obj_handle, view.hWnd, "DVR", CAMERA, 0) <<--這一行有問題
result = m_ocx.SetObjectRect(m_obj_handle, 0, 0, view.Width / 15, view.Height / 15)
result = m_ocx.StartRunning()
result = m_ocx.SetObjectText(m_obj_handle, "Camera01", vbBlue, 0, 0)
run.Caption = "Stop"
m_is_run = True
Else
result = m_ocx.StopRunning()
result = m_ocx.DeleteObject(m_obj_handle)
run.Caption = "Run"
m_is_run = False
End If
End Sub
[/code]
問題於AddObject函數中代入兩個handle,其變數是long * 型態原型如下:
long AddObject (long * obj_handle, long window_handle, BSTR dev_name, short obj_type, short obj_id)
AddObject函數中代入view.hWndu也就是PictureBox這個元件,於BCB中我用PaintBox或是Image都不行
會發生參數類型不匹配window_handle' (wanted 'long', got 'void *') 之錯誤訊息
可否請各位前輩指導一下要怎麼轉變型態代入函數中的類型是Long呢? 已爬文過了找不到類似的問題,所以才敢提問
或是有前輩可解決的可以開個價,我可能匯款給您,當打工收入吧 感謝您!

------
--==多看.多學.多聽==--
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-06-29 01:53:10 IP:122.126.xxx.xxx 訂閱
這題相當的有難度,但我近來趕案子很兇,自己都來不及了…剛好休息一下看了版,我把最重要的三關鍵給你。其他看情形再說了…

Dim m_obj_handle As Long
改成下面二行

long foo = 0;
long *m_obj_handle = &foo;


所有的字串部份全用 WideString
如:
result = m_ocx.AddObject(m_obj_handle, view.hWnd, "DVR", CAMERA, 0)

result = m_ocx.AddObject(m_obj_handle, view.hWnd, WideString("DVR"), CAMERA, 0)


先用TPanel的handle代入,暫不用image或

------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2012-06-28 11:59:42, 註解 無‧
系統時間:2024-04-27 11:33:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!