Q&A

  • 구창민님 이 문제 해결좀....
안녕하십니까?

저번 저의 이미지 변환에 대해 잘 보았습니다.

그것을 적용하다보니 막히는 부분이 있어서 다시 한번 문의 드립니다.

이번엔 저의 소스도 문제가 발생하는 부분에 대해 올리겠습니다.



procedure Tfrm_jass100f.jagyDblClick(Sender: TObject);

var

jpg : TJPEGimage;

mem : TMemorystream;

blobfield :Tblobfield;

begin

jpg := TJPEGimage.create;

mem := TMemorystream.create;

try

if query1.fields[2].isnull then

image1.picture := nil

else begin

==> blobfield := query1.fieldbyname('dr_image_j').asblob;

==> blobfield.savetostream(mem);

mem.position := 0;

jpg.loadformstream(mem);

image1.Picture.graphic := jpg;

end;

finally

mem.free;

jpg.free;

end;



end;

gtsh.lines.text := query1.fields[4].asstring;

ssdk.setfocus;

end;



이 부분의 설명을 드리자면

화면에서 grid를 더블클릭을 하면 해당되는 레코드의 각 필드를 editbox와

일반 이미지 conpoment 에 넣으려고 하는데

==> 부분에서 error가 발생합니다.



blobfield := query1.fieldbyname('dr_image_j').asblob;

이 부분은 asblob자체가 선언이 되지 않았다고 합니다.

정말 어찌할 줄 모르겠어요....?



도와주세요...

unit jass100f;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, Db, DBTables, ExtDlgs, StdCtrls, HMEdit, HMClock, flabel,

Buttons, Grids, DBGridEH, jpeg;



type

Tfrm_jass100f = class(TForm)

cmd_help: TBitBtn;

Panel1: TPanel;

tflabel1: tflabel;

Label1: TLabel;

HMClock1: THMClock;

Panel4: TPanel;

cls: TBitBtn;

serch: TBitBtn;

INS: TBitBtn;

UPD: TBitBtn;

Panel2: TPanel;

jadate: THMEdit;

Label4: TLabel;

Label2: TLabel;

jano: THMEdit;

Label6: TLabel;

jail: THMEdit;

janm: THMEdit;

Panel5: TPanel;

Label9: TLabel;

Label8: TLabel;

Panel15: TPanel;

lbl_msg: TPanel;

Panel16: TPanel;

Query1: TQuery;

Query2: TQuery;

Query3: TQuery;

BitBtn4: TBitBtn;

Panel3: TPanel;

Label3: TLabel;

Label5: TLabel;

dnkey0: TBitBtn;

gjnm: THMEdit;

ssdk: THMEdit;

jagy: TDBGridEH;

DataSource1: TDataSource;

jaky: TMemo;

Memo3: TMemo;

ScrollBox1: TScrollBox;

Panel6: TPanel;

Label10: TLabel;

Label12: TLabel;

Panel7: TPanel;

Image1: TImage;

Panel8: TPanel;

Image2: TImage;

ksj: TMemo;

ksh: TMemo;

Label7: TLabel;

gtsh: TMemo;

procedure clsClick(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure jagyDblClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

frm_jass100f: Tfrm_jass100f;



implementation

uses c0comlib, c0comsub, swcd, menu;

{$R *.DFM}





procedure Tfrm_jass100f.clsClick(Sender: TObject);

begin

close;

end;



procedure Tfrm_jass100f.FormShow(Sender: TObject);

begin

query1.close;

query1.sql.clear;

query1.sql.add(' select bucd from isiscdmp where swcd='''+c0com.usid+''' ');

query1.open;



query2.close;

query2.parambyname('bucd'). asstring := query1.fieldbyname('bucd').asstring;

query2.open;

end;



procedure Tfrm_jass100f.jagyDblClick(Sender: TObject);

var

jpg : TJPEGimage;

mem : TMemorystream;

blobfield :Tblobfield;

begin

jagy.Visible := false;

jadate.text := query2.fields[0].asstring;

jano.text := query2.fields[1].asstring;

jail.text := query2.fields[2].asstring;

janm.text := query2.fields[3].asstring;

jaky.Lines.Text := query2.fields[5].asstring;

ksj.lines.text := query2.fields[6].asstring;

ksh.lines.text := query2.fields[7].asstring;



query1.close;

query1.sql.clear;

query1.sql.add(' select * from jadrawtr where js_date = '''+jadate.text+''' ');

query1.sql.add(' and js_no = '''+jano.text+''' ');

query1.open;



if query1.eof then begin

jpg := TJPEGimage.create;

mem := TMemorystream.create;

try

if query1.fields[2].isnull then

image1.picture := nil

else begin

blobfield := query1.fieldbyname('dr_image_j').asblob;

blobfield.savetostream(mem);

mem.position := 0;

jpg.loadformstream(mem);

image1.Picture.graphic := jpg;

end;

finally

mem.free;

jpg.free;

end;



jpg := TJPEGimage.create;

mem := TMemorystream.create;

try

if query1.fields[3].isnull then

image2.picture := nil

else begin

{ query1.fields[3].savetostream(mem);

mem.position := 0;

jpg.loadformstream(mem);

image2.Picture.graphic := jpg;}

end;

finally

mem.free;

jpg.free;

end;

end;

gtsh.lines.text := query1.fields[4].asstring;

ssdk.setfocus;

end;



end.



1  COMMENTS
  • Profile
    구창민 1999.07.01 08:43
    장경석님 안녕하세요? 구창민입니다.

    에구.. 이름을 지목하시니 당황스럽습니다.

    우선 소스를 살펴보면,



    > procedure Tfrm_jass100f.jagyDblClick(Sender: TObject);

    > var

    > jpg : TJPEGimage;

    > mem : TMemorystream;

    > blobfield :Tblobfield;

    > begin

    > jpg := TJPEGimage.create;

    > mem := TMemorystream.create;

    > try

    > if query1.fields[2].isnull then

    > image1.picture := nil

    > else begin

    > ==> blobfield := query1.fieldbyname('dr_image_j').asblob;

    //이부분이 의아합니다.

    //윗줄을 삭제 하시고 한번 해 보십시오.

    //그리드를 클릭하셨다면 현위치로 레코드가 이동했을 것이고

    //아래 문장에서

    > ==> blobfield.savetostream(mem);

    //현재 레코드의 BlobField를 메모리에 올리고 있습니다,

    > mem.position := 0;

    > jpg.loadformstream(mem);

    //메모리에서 TJpeg 객체로 읽어들여

    > image1.Picture.graphic := jpg;

    //객체를 이미지에 대입했으니 제대로 될것 같습니다.

    //직접 테스트 할수 있는 환경이 못되어 테스트는 해 보지 못했습니다.

    > end;

    > finally

    > mem.free;

    > jpg.free;

    > end;

    >

    > end;

    > gtsh.lines.text := query1.fields[4].asstring;

    > ssdk.setfocus;

    > end;



    말씀드린 대로, 그 문장을 삭제하시고 한번 해보시고 안되시면

    다시 질문올려주시기 바랍니다.

    그리고, 앞으로는 이름을 지목하시지는 마셨으면..^^;;

    그럼.. 즐거운 프로그래밍 되세요~



    • 이슬
    • 1999.07.01 05:58
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김성희
      1999.04.21 09:07
      제가 현재 메인폼을 만들고 있는데요... 2개의 폼을 썼거든요..!! 1개의 폼은 메뉴바부분으로 쓰고, 또...
    • 정재홍
      1999.07.01 08:30
      이슬 께서 말씀하시기를... > 저희가 프로젝트중 입력폼에 결혼기념일이 있습니다. > 기혼가 미혼을 라이...
    • 이채원
      1999.04.21 09:54
      김성희 wrote: > 제가 현재 메인폼을 만들고 있는데요... > 2개의 폼을 썼거든요..!! > 1개의 폼은 메뉴...
    • 김성희
      1999.04.22 21:11
      빠른 답변 고맙습니다. 급한거였느데... 그럼, 행복하세요.
    • 김경수
    • 1999.04.20 14:37
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 초보
      1999.07.01 05:49
      안녕하세요 평소 여러 선배님이 도와 주셔서 제가 오늘 저희가 개발한 프로그램을 배포하기 위한 교육을 ...
    • 김경수
      1999.04.21 07:04
      안녕하세요... query문에 조건에 맞는 데이타를 불러드리구요, 변수i를 선언하고 인쇄하기전에 하나씩 ...
    • camplus
    • 1999.07.01 03:34
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이상준
    • 1999.07.01 02:51
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 한승현
      1999.04.20 18:31
      회사에서 다른 사람의 CD-ROM을 공유해서 델파이를 설치를 하려고 하는데 맨처음 프로그램을 Copy할때 ...
    • 구창민
      1999.07.01 09:04
      이상준 께서 말씀하시기를... > 제가 개발하는 프로그램에서 메인 메뉴가 있는 폼을 화면 상단에 고정시키...
    • 김영해
      1999.04.21 06:20
      한승현 wrote: > > 회사에서 다른 사람의 CD-ROM을 공유해서 > 델파이를 설치를 하려고 하는데 > 맨처...
    • 한승현
      1999.04.21 19:19
      김영해 wrote: > 한승현 wrote: > > > > 회사에서 다른 사람의 CD-ROM을 공유해서 > > 델파이를 설치...
    • kobari
    • 1999.04.21 01:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.21 06:19
      OCX는 그냥 복사만 해서 되는것이 아닙니다. regsrv32를 이용해서 OCX를 시스템에 등록을 시켜주셔야 합니...
    • 장경석
    • 1999.07.01 01:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.07.01 08:43
      장경석님 안녕하세요? 구창민입니다. 에구.. 이름을 지목하시니 당황스럽습니다. 우선 소스를 살펴보면, ...
    • 강지영
    • 1999.04.21 05:31
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김현창
      1999.07.01 01:25
      table을 run-time로 생성하려고 하는데 createtable함수와 findtable함수에서 자꾸 걸리거든요 이를 해경할...
    • 박홍석
      1999.04.21 09:20
      강지영 wrote: > 라디오그룹에 세개의 아이템(Cust_No,Name,Phone)을 넣구요 > Edit1.Text를 넘겨받아서 ...
    • 구창민
      1999.07.01 08:53
      김현창 께서 말씀하시기를... > table을 run-time로 생성하려고 하는데 createtable함수와 findtable함수...
    • 강지영
      1999.04.22 20:47
      박홍석 wrote: > 강지영 wrote: > > 라디오그룹에 세개의 아이템(Cust_No,Name,Phone)을 넣구요 > > Edi...
    • 정근수
    • 1999.07.01 01:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 문창완
      1999.04.21 05:28
      일기예보나 선거철에 나타나는 3차원 선거예보를 보면 사람이 그래픽위에서 이리저리 왔다갔다 하는거 보...
    • 구창민
      1999.07.01 09:10
      정근수 께서 말씀하시기를... > dbGrid 에 자료를 보여주고.. > 특정 필드에서 값을 수정할때... > 레코...
    • 강태호
    • 1999.04.21 05:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.04.21 10:17
      강태호 wrote: > RM-COBOL DATA 화일을 DB로 바꿀수 있는 컴포넌트 혹은 소스가 있는가요? 음냐....ISA...
    • 이정석
    • 1999.07.01 00:47
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김기형
      1999.07.02 01:56
      이정석 께서 말씀하시기를... > 델파이 4.0 C/S와 퍼스널 오라클 7.2를 연결하려고 합니다. > 전에 델파...
    • 하남수
      1999.07.01 01:56
      제가 짐작하기로는...... 혹시 path때문이 아닌가요? path때문에 ora73을 로드 하지 못해서 initial 에러...
    • MM
    • 1999.04.21 03:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.04.21 03:59
      MM wrote: > TCP/IP 강좌 정말 잘 보았습니다 > 헌데 SEVER TIME 을 가지고 올려면 어떠한 방법으로 가져...
    • 코코
    • 1999.07.01 00:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김형철
      1999.07.01 10:00
      코코 께서 말씀하시기를... > 김형철님의 질문을 바탕으로 UpdateSQL를 써서 수정을 해보니까... > 한 ...
    • MM
    • 1999.04.21 03:36
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 남윤혁
      1999.06.30 23:40
      있나요? 혹시 있다면 알려주세요... 없다면 인스톨쉘드로 어떻게 SQL easy cfg 까지 한큐에 깔...
    • 김영대
      1999.04.21 03:59
      MM wrote: > TCP/IP 강좌 정말 잘 보았습니다 > 헌데 SEVER TIME 을 가지고 올려면 어떠한 방법으로 가져...
    • 이상준
      1999.07.01 03:01
      남윤혁 께서 말씀하시기를... > 있나요? > > 혹시 있다면 알려주세요... > > 없다면 > > 인스톨...
    • 권만섭
    • 1999.04.21 02:36
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이광환
      1999.06.30 23:34
      파라독스에서 trim,substr의 사용을 어떻게 하는지 구체적인 예가 필요합니다.
    • 이채원
      1999.04.21 09:35
      권만섭 wrote: > 프로그램이 처음실행될때 메인메뉴을 이용하여 폼을 그렸습니다. > 그런데 size가 너무 ...
    • 조복기
      1999.07.01 00:27
      이광환 께서 말씀하시기를... > 파라독스에서 trim,substr의 사용을 어떻게 하는지 구체적인 예가 필요합...
    • 이광환
      1999.07.01 01:18
      조복기 께서 말씀하시기를... > 이광환 께서 말씀하시기를... > > 파라독스에서 trim,substr의 사용을 어...
    • 이영호
    • 1999.04.21 02:13
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이용희
      1999.06.30 23:16
      박후선님의 MIDAS 강좌를 보면서 델파이 3.0에서 프로그램을 해봤습니다. 우선 어플리케션 서버를 작성을 ...
    • 이채원
      1999.04.21 09:39
      이영호 wrote: > 왕초보입니다. > MDI폼을 하나만들고 메뉴를 누르면 MDICHILD폼이 열리게 해놨거든요. ...
    • 정재홍
      1999.07.01 08:52
      이용희 께서 말씀하시기를... > 박후선님의 MIDAS 강좌를 보면서 델파이 3.0에서 프로그램을 해봤습니다. ...
    • 전은주
    • 1999.04.20 18:19
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 남윤혁
      1999.06.30 22:45
      지가 하려는 일이... 폼상에 워드처럼 자를 위와 왼쪽 옆에 두고 내용 부분에만 스크롤바가 생기게 ...
    • 공대규
      1999.04.21 02:06
      안녕하세요, 은주님... 소스를 보여주실래요? 제가 지금 그런 일을 하는데 한번 볼께요. 그럼... ...
    • 우민석
    • 1999.06.30 22:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.07.01 01:41
      우민석 께서 말씀하시기를... > 안녕하십니까? > 한가지 궁금한 점이 있어 이렇게 질문하게 되었습니다. ...