자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 39645
공지 유용한 관련 사이트 관리자2 2014.03.20 79152
352 MediaPlayer 지원 코덱 [1] godkdi 2014.04.01 3629
351 프레임 동적생성후 해제 (메모리 해제가 안되는현상) [2] 가을이다 2014.06.06 3686
350 Delphi XE5, XE6 에서의 한글 문제 (TFDConnection, TFDQuery) [2] shocks 2014.06.08 3714
349 FFMpeg 디코딩된 AVFrame을 최대한 빨리 TImage에 그리는 방법 질문. [4] file 아크나톤 2020.02.22 3715
348 안드로이드 스마트폰에서 sqlite DB 보는 방법은? [14] 화이부동 2016.10.31 3719
347 데브기어 강의 - 2016년 5월 file 관리자 2015.01.22 3724
346 [XE6] VCL 리스트뷰 사용법 [1] 가을이다 2014.08.29 3741
345 ios에서 classic bluetooth 로 통신하려면 [1] jojo 2016.03.04 3764
344 FMX 동적생성 버튼 폰트, 크기 변경 방법 [3] superman 2014.08.20 3780
343 빌더 XE4 리모트 디버거 사용시 에러문제 [1] godson2 2014.02.07 3827
342 좌측에서 슬라이드 나오는 메뉴 클릭시 문의 [1] file 김하나 2014.03.20 3844
341 윈도우 프로그램 배포(인증문제) [1] 스카이 2018.09.10 3904
340 델파이 xe4 세션 관련 문의입니다. [1] file 좋은사람 2014.02.12 3954
339 ImageEN의 OCR 샘플로 헤매고 있어요 ㅠ.ㅠ 아크나톤 2014.06.17 3961
338 스피드버튼으로 한글 입력 되도록 할 때 Delphi7 은 이상이 없는데 XE10 은 한글이 쪼개집니다. [2] 막스뮐러 2018.05.09 3961
337 json 사용 https 주소로 post 방식으로 API 호출tl Header 에 key 추가부분좀 봐주세요 [1] 가나다 2019.03.07 3981
336 Firemonkey Mobile Application 실행시 "Unable to create process" 에러발생 [2] 박재현 2014.05.23 4053
335 WebBrowser focus 부분 문의드립니다. [1] file 김하나 2014.05.14 4072
334 XE7에서 FireDAC를 이용하여 AccessDB사용시 배포 [3] 투덜이스머프 2014.12.10 4109
333 모발일 Sqlite 데이터베이스를... 김다니엘 2020.05.07 4114