關於XE7型別轉換問題 |
尚未結案
|
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
各位前輩好:
因為想透過Delphi 呼叫NB的WebCAM 來取得影像 http://www.delphibasics.info/home/delphibasicssnippets/delphiwebcamcaptureexample 請教ㄧ下如下的CODE,要怎麼修改,因為會出現錯誤訊息。 [dcc32 Error] uWebcam.pas(55): E2010 Incompatible types: 'PAnsiChar' and 'PWideChar' [code delphi] procedure WebcamList; var x: cardinal; names: string; Descriptions: string; begin for x := 0 to 9 do begin setlength(names, 256); setlength(Descriptions, 256); if not CapGetDriverDescriptionA(x, pchar(names), 256, pchar(Descriptions), 256) then continue; // if not capGetDriverDescriptionA(x,PAnsiChar(Names),256,PAnsiChar(Descriptions),256) then continue; if length(names) > 0 then FormMain.combobox1.Items.Add(inttostr(x) ' ' names); end; end; [/code]
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」 程式寫的越久,卻發現自己越來越不會寫程式! |
Ray_Lin
一般會員 發表:0 回覆:30 積分:11 註冊:2015-07-21 發送簡訊給我 |
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
在 Delphi 支援 Unicode 以前,PChar 就是 C 的 PChar,也就是一个 Byte 的 Char 的 Pointer.
在 Delphi 支援 Unicode 以后,Char 是 2个 Byte 的 Char,也就是 WideChar。 所以,在支援 Unicode 的 Delphi 里面,以前很多用 Char 或者 PChar 的地方,改用了 Byte 和 TBytes。 本质上,PChar 就是一个连续的 Byte 排列的 RAM 的 Pointer。 所以,你可以自己做类型转换。把 PByte 转换为 PAnsiChar. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |