자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

datasnap을 사용하여

 1. server

    . ms-sql 테이블에 binary 필드를 가진 테이블 정의

    . client 요청 시, binary 필드 검색하여 리턴

 2. desktop 기반의 client

    . server에 db 데이터 요청

    . ui에 binary 데이터 표시(이미지)

 3. android 기반의 client

    . 기능은 2번과 동일

를 샘플로 작성했습니다.


1번과 2번 간에는 binary 데이터를 stream 형식으로 잘 받아서 UI에 이미지를 보여줍니다.

1번과 3번 간에는 binary 데이터를 stream 형식으로 잘 받는 것으로 보이는데,

  - UI에 이미지를 보여주는 과정에서 에러가 발생합니다.

    . 에러가 발생하는 구간의 callstack은 첨부파일과 같습니다.

    . 에러 메시지: "Range check error."


참고로 UI에서 보여주는 binary 데이터에 대한 처리 코드는 아래와 같습니다.

동일한 방식을 desktop 기반에 적용하면 잘 동작합니다. 

procedure TForm3.StringGrid1Click(Sender: TObject);

var

    ResultStream: TStream;

    ServiceProxy: TServerMethods1Client;

    bitmap : TFixedBitmapItem;

    buffer : TBytes;

    Item : TBitmapOfItem;

    MemStream: TMemoryStream;

begin

    //Edit1.Text: = IntToStr (ClientDataSet1.FieldByName ('film_id'). AsInteger);

    ServiceProxy := TServerMethods1Client.Create (SQLConnection1.DBXConnection);

    try

        ResultStream := ServiceProxy.GetPictureById(1);

        if ResultStream <> nil then

        begin

            MemStream := TMemoryStream.Create;

            MemStream.CopyFrom( ResultStream, ResultStream.Size ); ==> 에러 생기는 코드

            Item := TBitmapOfItem.CreateFromStream( MemStream );

            Image1.MultiResBitmap.Bitmaps[0] := Item;

        end;

    finally

        ServiceProxy.Free;

    end;

end;

뭐가 문제일까요?

모바일 기반의 Firemonkey에서만 문제가 생기네요.


번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15769
공지 유용한 관련 사이트 관리자2 2014.03.20 54583
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98004
» android에서 datasnap 사용하여 stream 데이터 전송시 에러 file godkdi 2014.04.23 3170
73 안드로이드 스마트폰에서 sqlite DB 보는 방법은? [14] 화이부동 2016.10.31 3280
72 파이어몽키 모바일개발에서 [1] file fromstog 2014.03.15 3292
71 [XE6] [BRCC32 Error] 갑자기 컴파일이 안되면서 에러가 납니다. [1] 가을이다 2014.07.18 3317
70 안드로이드 빌드시 Error: Could not create the Java Virtual Machine. 해결방법 문의드립니다 [3] delphi 2018.08.28 3411
69 프레임 동적생성후 해제 (메모리 해제가 안되는현상) [2] 가을이다 2014.06.06 3494
68 MediaPlayer 지원 코덱 [1] godkdi 2014.04.01 3499
67 [XE6] VCL 리스트뷰 사용법 [1] 가을이다 2014.08.29 3563
66 좌측에서 슬라이드 나오는 메뉴 클릭시 문의 [1] file 김하나 2014.03.20 3707
65 애플 인증서 오류 관련하여 문의드립니다. [3] file delphiman 2021.05.11 3818
64 WebBrowser focus 부분 문의드립니다. [1] file 김하나 2014.05.14 3872
63 Firemonkey Mobile Application 실행시 "Unable to create process" 에러발생 [2] 박재현 2014.05.23 3906
62 안드로이드_Media Player 재생 완료 후 앱 화면 문제 [6] godkdi 2014.04.05 4272
61 Firemonkey xe5 update 2 - C++ builder [1] 필요무 2014.02.04 4462
60 안드로이드 버전업 문제 로 문의 드립니다. [7] lilix 2014.02.11 4551
59 IdIcmpClient1.Ping Test Error [3] 진이한이 2014.04.11 4676
58 XE5 질문입니다. [2] 가을이다 2014.01.22 5218
57 TEDIT 에서 한글과 한글 사이 띄워쓰기 할때 스페이스바를 두번 눌러야 되는 문제 [2] 명철 2014.08.01 5354
56 FM3 질문입니다. Feelple(고재철) 2013.05.10 5594
55 파이어몽키에서 스크린의 사이즈 구하는 방법 [1] 관리자 2013.08.19 5594