자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi [질문] 이미지를 datasnap을 사용하여 서버로 전송밥법
2021.08.08 17:15
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
XE10.4를 사용하여 이미지컴퍼넌트로 작성한 이미지를
서버로 전송하는 방법에 어떤 무제가 있을까요?
프로그램은
모바일에서 image1에 싸인 받아서 MSSQL서버로 저장하려하는 겁니다
모바일에서 image1에 싸인을 받는것은 성공했는데 이것을 datasnap을 이용헤서 서버로 전송하는
부분에 에러가 납니다
1) 저장화면의 이미지를 넘기는 방업이 잘못된건지?
2) data모듈쪽에서 서버로 넘기는 부분의 이미지control이 잘못된건지 모르겠습니다.
--------- 저장화면----------------------
procedure TForm2.Button3Click(Sender: TObject);
var
ImgStream : TMemoryStream;
begin
try
ImgStream := TMemoryStream.Create;
Image1.Bitmap.SaveToStream(ImgStream);
ImgStream.Position := 0;
if SQLConnection1.connected = false then
SQLConnection1.connected:=true;
Method := TServerMethods1Client.Create(SqlConnection1.DBXConnection);
Method.RVArea( 0,0, ImgStream);
Method.Free;
SQLConnection1.connected:=false;
Finally
ImgStream.free;
End;
end;
-------- data모듈 ---------
procedure TServerMethods1Client.RVArea( i1: Integer; i2: Integer; img: TMemoryStream);
begin
if FDataQueryAreaCommand = nil then
begin
FDataQueryAreaCommand := FDBXConnection.CreateCommand;
FDataQueryAreaCommand.CommandType := TDBXCommandTypes.DSServerMethod;
FDataQueryAreaCommand.Text := 'TServerMethods1.RVArea';
FDataQueryAreaCommand.Prepare;
end;
FDataQueryAreaCommand.Parameters[0].Value.SetInt32(i1);
FDataQueryAreaCommand.Parameters[1].Value.SetInt32(i1);
FDataQueryAreaCommand.Parameters[2].Value.SetStream(img, FInstanceOwner);
FDataQueryAreaCommand.ExecuteUpdate; <--- 요기 실행할때 "Remote error:Invalid class typecast"
에러가 나면서 서버쪽으로 못넘깁니다
end;
-------- 서버쪽 -------------
procedure TServerMethods1.RVArea( i1: Integer; i2: Integer; img: TMemoryStream);
begin
exit; -- 여기까지도 오지 않습니다
FDQuery2.close;
FDQuery2.sql.clear;
FDQuery2.SQL.Add(' insert into ....... ');
FDQuery2.ParamByName('psign').LoadFromStream(img, ftBlob );
end;
번호 제목 글쓴이 날짜 조회 수
공지
[프로그래밍 강의] 2021.6~2021.12
관리자 2015.01.22 15777
공지
유용한 관련 사이트
관리자2 2014.03.20 54595
공지
본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다.
관리자 2012.01.10 98015
11
델파이 xe 인디 TcpClient 컴포에서 TcpServer로 jpg파일 전송시 문제
[1] superman 2012.06.13 15525
10
delphi XE2 Code Editor 한글 깨짐 문제
[2] 앙구리2 2012.07.22 15830
9
XE5 모바일 앱 개발시 핸드폰의 전화번호 정보 가져오는 방법?
[2] 강구 2013.09.23 17252
8
델파이 xe 사용중 idHttp.post 한글 깨짐 문제
[2] superman 2012.05.09 19018
7
Indy ftp 한글깨짐 질문 입니다
[8] sdj 2012.04.04 20922
6
project 그룹 안의 bpl 간의 변수 공유에 대해 질문드립니다.
[2] 국카 2020.08.13 27953
5
모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은?
[3] 양현숙 2012.08.16 31224
4
FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해
[4] jcijang 2016.09.14 34967
3
제다이(Jedi) 컴포넌트 설치 방법을 알려주세요
[1] 관리자 2012.04.05 43149
2
구버전 설치시 시리얼번호 문의
[1] DevCK 2020.06.02 94747
1
Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다.
[1] mir 2015.12.24 198175
Delphi [질문] 이미지를 datasnap을 사용하여 서버로 전송밥법
2021.08.08 17:15
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
XE10.4를 사용하여 이미지컴퍼넌트로 작성한 이미지를
서버로 전송하는 방법에 어떤 무제가 있을까요?
프로그램은
모바일에서 image1에 싸인 받아서 MSSQL서버로 저장하려하는 겁니다
모바일에서 image1에 싸인을 받는것은 성공했는데 이것을 datasnap을 이용헤서 서버로 전송하는
부분에 에러가 납니다
1) 저장화면의 이미지를 넘기는 방업이 잘못된건지?
2) data모듈쪽에서 서버로 넘기는 부분의 이미지control이 잘못된건지 모르겠습니다.
--------- 저장화면----------------------
procedure TForm2.Button3Click(Sender: TObject);
var
ImgStream : TMemoryStream;
begin
try
ImgStream := TMemoryStream.Create;
Image1.Bitmap.SaveToStream(ImgStream);
ImgStream.Position := 0;
if SQLConnection1.connected = false then
SQLConnection1.connected:=true;
Method := TServerMethods1Client.Create(SqlConnection1.DBXConnection);
Method.RVArea( 0,0, ImgStream);
Method.Free;
SQLConnection1.connected:=false;
Finally
ImgStream.free;
End;
end;
에러가 나면서 서버쪽으로 못넘깁니다
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [프로그래밍 강의] 2021.6~2021.12 | 관리자 | 2015.01.22 | 15777 |
공지 | 유용한 관련 사이트 | 관리자2 | 2014.03.20 | 54595 |
공지 | 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. | 관리자 | 2012.01.10 | 98015 |
11 | 델파이 xe 인디 TcpClient 컴포에서 TcpServer로 jpg파일 전송시 문제 [1] | superman | 2012.06.13 | 15525 |
10 | delphi XE2 Code Editor 한글 깨짐 문제 [2] | 앙구리2 | 2012.07.22 | 15830 |
9 | XE5 모바일 앱 개발시 핸드폰의 전화번호 정보 가져오는 방법? [2] | 강구 | 2013.09.23 | 17252 |
8 | 델파이 xe 사용중 idHttp.post 한글 깨짐 문제 [2] | superman | 2012.05.09 | 19018 |
7 | Indy ftp 한글깨짐 질문 입니다 [8] | sdj | 2012.04.04 | 20922 |
6 | project 그룹 안의 bpl 간의 변수 공유에 대해 질문드립니다. [2] | 국카 | 2020.08.13 | 27953 |
5 | 모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은? [3] | 양현숙 | 2012.08.16 | 31224 |
4 | FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해 [4] | jcijang | 2016.09.14 | 34967 |
3 | 제다이(Jedi) 컴포넌트 설치 방법을 알려주세요 [1] | 관리자 | 2012.04.05 | 43149 |
2 | 구버전 설치시 시리얼번호 문의 [1] | DevCK | 2020.06.02 | 94747 |
1 | Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다. [1] | mir | 2015.12.24 | 198175 |
procedure TServerMethods1.RVArea( i1: Integer; i2: Integer; img: TMemoryStream);
위의 부분을 아래와 같이 바꾸시면 될 겁니다.
procedure TServerMethods1.RVArea( i1: Integer; i2: Integer; img: TStream);
datasnap 서버에서 TStream 을 TMemoryStream 으로 바꾸는 방법은 다음과 같습니다.
var
LMS: TMemoryStream;
begin
LMS := TMemoryStream.Create;
LMS.LoadFromStream(AStream);
end;
도움이 되시길...