타입캐스팅문제인데 TStream형을 Variant형으로 변환해야 하거든요..
좀더 정확히 말하면 Stream을 OleVariant형으로 변환해야 하는데 방법이 있는지 궁금합니다. 제가 하려는 작업은 ASP Object를 사용하여 activex server dll을 만드는데
디비에서 이미지를 스트림으로 읽어 이것을 파일로 저장하지 않고 바로 브라우저에 뿌려주려고 하는데 이것을 하려면 Response.binarywrite 함수를 써야 할것 같거든요.
이함수의 파라미터로 OleVariant type을 받는군요..
혹시 아시는분있으면 좀 도와 주세요....
function StreamToVariant(Stream: TStream): OleVariant;
var
p: Pointer;
begin
Result := VarArrayCreate([0, Stream.Size - 1], varByte);
p := VarArrayLock(Result);
try
Stream.Position := 0; //start from beginning of stream
Stream.Read(p^, Stream.Size);
finally
VarArrayUnlock(Result);
end;
end;
황윤각 wrote:
> 타입캐스팅문제인데 TStream형을 Variant형으로 변환해야 하거든요..
> 좀더 정확히 말하면 Stream을 OleVariant형으로 변환해야 하는데 방법이 있는지 궁금합니다. 제가 하려는 작업은 ASP Object를 사용하여 activex server dll을 만드는데
> 디비에서 이미지를 스트림으로 읽어 이것을 파일로 저장하지 않고 바로 브라우저에 뿌려주려고 하는데 이것을 하려면 Response.binarywrite 함수를 써야 할것 같거든요.
> 이함수의 파라미터로 OleVariant type을 받는군요..
> 혹시 아시는분있으면 좀 도와 주세요....
>