안녕하세요...
인디 컴포넌트에 대한 질문입니다.
인디 사이트에 가봐도 별 도움이 안되는군요...
다름이 아니라 인디에 포함된 스트리밍 전송에 대한 것을 연습하던 중에
안되는것이 있어 이렇게 질문을 올립니다.
소스 중에 TStringStream 부분을 TMemoryStream 으로 교체를 하고
클라이언트에서 요청을 하면 서버에서 bmp 파일을 불러
클라이언트로 스트림 전송을 합니다.
클라이언트 측에서 날라온 스트림을 저장하면 정상적으로 날라와온것을 알수 있습니다.
물론 파일 크기도 변동이 없습니다.
근데 이 스트림을 image1.picture.bitmap.loadfromstream() 을 하면
그림이 전혀 나타나지 않습니다.
물론 리플레쉬나 리페인트도 해보고 ImageEn 이라는 이미지 라이브러리도 사용을 해봤는데
역시 화면에 출력이 안됩니다.
왜 날라온것을 바로 Timage 에 넣으면 그림이 안나오는지 아시는 분은 도움을 좀 주시기바랍니다.
예제를 포함했으며 거의 기본 예제 그대롭니다.
아시는 분은 도움 좀 주세요..
--- 서버 측
AStream := TMemoryStream.Create;
AStream.LoadFromFile('c:x.bmp');
OpenWriteBuffer;
WriteStream(AStream);
CloseWriteBuffer;
AStream.Free;
--- 클라이언트 측
ReadStream(AStream, -1, True);
Image1.Picture.Bitmap.LoadFromStream(AStream);
image1.Repaint;
caption:=inttostr(AStream.Size);
만약 ASTream.SaveToFile() 을 하면 정상적으로 저장되고 파일 사이즈도 동일한데...
TImage의 LoadFromStream 부분에 문제(호환성?)가 있는것 같기도 하고....