View Single Post
Old 10-11-2010, 12:49 AM   #3
xuanducdhcn
Đệ tử 1 túi
 
Tham gia ngày: Mar 2010
Bài gửi: 13
:
Trích:
Nguyên văn bởi entredosaguas View Post
Tình hình thế này, mình copy cai project đó sang cái laptop thì OK, truyền lên truyền uống đều OK ko vấn đề gì, vấn đề là ko biết tại sao trên PC lại bị như vậy?
Bạn thử thêm một số máy xem theo mình nghĩ do cổng COM của PC có vấn đề. Nếu mà không phải thì bạn xem kỹ có phải phần này không . do format kiểu dữ liệu.
/// Trich tai liệu ngô hải bắc
Các bạn để ý thấy rằng kiểu VARIANT dùng làm tham số cho hàm SetIn put và là kiểu trả về của hàm G etOutput. Mà với kiểu truyền kiểu d ạng Text chúng ta truyền dữ liệu r a cổng là dạng xâu kí tự thì ch ng ta chuyển đối giữ kiểu VARIANT sng kiểu kí tự CString như thế nà o?

‐ Chuyển từ kiểu CString ‐> VARIAN T: tôi dùng lớp ColeVariant ( các bạ n có thể tra trong MSDN dùng tab Index ) là dạng đóng gói của kiểu cấu trúc VARIANT, lớp này có hàm khởi tạo COleVariant( CString& strSrc ); và do đó nó có thể làm tham số cho hàm SetInput của MSComm. Vì vậy chún g ta chỉ cần khai báo một biến Co leVariant là xong.

CString data_tosend = “Example”;

CodeVariant temp(data_tosend);

m_mscomm1.SetInput(temp);
‐ Chuyển từ kiểu VARIANT sang kiểu CString. Các bạn xem lại định ngh a cấu trúc VARIANT ở trên xem có b iến nào có kiểu trả về kiểu tư ơng thích với kiểu CString( tức có thể ép kiểu để trở thành kiểu CString).
Tôi thấy có thành phần
BSTR bstrVal;

Do đó ta chỉ việc ép kiểu là xon g.
VARIANT data;
CString m_strData = (CString) data.bstrVal;


xuanducdhcn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn