_DMxDrawX::WriteBinStream 方法
把控件图形变成二进制流输出。
|
参数 |
说明 |
|
VARIANT* pVarBinArray |
输出二进制数组.是个byte数组 |
|
BSTR sPassword |
数据密码,没有密码,传空字符串 |
|
LONG iVersion |
输出的文件版本,如果保存CAD 2002图纸,可以传 23 |
例如:Delphi代码
function OleToMStream(OV:OleVariant): TMemoryStream;
var
Data: PByteArray;
Size: integer;
beginResult:=TMemoryStream.Create;
try
Size:=VarArrayHighBound(OV,1)-VarArrayLowBound(OV,1)+1;
Data:=VarArrayLock(OV);
try
Result.Position:=0;
Result.WriteBuffer(Data^,Size);
finally
VarArrayUnlock(OV);
end;
except
Result.Free;Result:=nil;
end;
end;
function MStreamToOle(Strm:TMemoryStream): OleVariant;
var
Data: PByteArray;
beginResult:= VarArrayCreate([0, Strm.Size - 1], varByte);
Data:= VarArrayLock(Result);
try
Strm.Position := 0;
Strm.ReadBuffer(Data^, Strm.Size);
finally
VarArrayUnlock(Result);
end;
end;
procedure TForm2.Button6Click(Sender: TObject);
var
aryData:OleVariant;
memStream : TMemoryStream ;
aryReadData: OleVariant;
begin
// 写到内存流
MxDrawX1.WriteBinStream(aryData,'',23);
memStream := OleToMStream(aryData);
// 从内存流加载
aryReadData := MStreamToOle( memStream);
MxDrawX1.ReadBinStream(aryData,'',16777215);
end;
本文介绍DMxDrawX控件的WriteBinStream方法,用于将控件图形转换为二进制流输出,并提供了Delphi代码示例,演示如何使用此方法及配套的读取函数。

1万+

被折叠的 条评论
为什么被折叠?



