Q&A

  • Thread가 오류가 뜨네요..
Thread로 Powersocket과 Image 그리고 연결정보(Host,port, path등)를 넘겨주는 작업을 하는데....

Thread를 Create하자마자
Access Violation at address 004621CA in Module 'BTest.exe'. Write of address 00000030.
오류가 뜨는군요.....

아래는 소스입니다.

호출 Unit
---------
...
implementation

uses
    uBThread;
Var
    BThread : TBThread;

procedure TfrmMain.btnStartClick(Sender: TObject);
begin
....
  BThread.Create(psk, Img, Host, Path, StrToInt(Port), StrToInt(WTime));
....
end;
....

이렇게 호출을 하고...


interface

uses
  Dialogs, forms, Windows, Messages, SysUtils, Classes, Graphics,
  Controls, ComCtrls, StdCtrls, Psock, ExtCtrls, JPEG;

type
  TBNBCameraThread = class(TThread)
  private
    pskMySocket : TPowersock;         // Power Socket Componemt
    imgCamImg : TImage;             // Image Componemt
    strHost : String;                       // Connection IP
    strPort : Integer;                      // Connection Port
    strPath : String;                       // Connection Path
    nWaitTime : Integer;                // Sleep Time(1/1000 sec)
  protected
    procedure Execute; override;
  public
    constructor Create(PwSocket: TPowersock; Img: TImage; TargerURL: String; TargetPATH: String; TargetPort: Integer; refTime: integer);
  end;

implementation

constructor TBNBCameraThread.Create(PwSocket: TPowersock; Img: TImage; TargerURL: String; TargetPATH: String; TargetPort: Integer; refTime: integer);
Begin
  pskMySocket := PwSocket;                      <== 요부분에서 오류가 납니다.
  imgCamImg := Img;
  strHost := TargerURL;
  strPort := TargetPort;
  strPath := TargetPATH;
  nWaitTime := refTime;

  FreeOnTerminate:= TRUE;
  inherited Create(False);
End;

....

단계적으로 따라가보면 소켓은 제대로 넘어가는데 pskMySocket이 초기화가 안된것 같은데...ㅠ.ㅠ

도대체 알수가 없어서 이렇게 도움을 요청합니다.

고수님들의 답변 부탁합니다.

참고로 컴파일시에는 오류가 없습니다. 실행시 나타나는군요...쩌비...ㅡ.ㅡ;;;
1  COMMENTS
  • Profile
    이경문 2002.02.05 12:00
    잘은 모르겠지만 class인 만큼 parent의 constructor을 호출해 줘야 되지 않을까요?
    델파이는 원래 명시적으로 parent의 constructor을 불러 줘야 하기 땜에
    inherited를 불러 주는 것이 좋을 것 같네요.



    • 피라니
    • 2002.02.03 04:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이경문
      2002.02.05 12:00
      잘은 모르겠지만 class인 만큼 parent의 constructor을 호출해 줘야 되지 않을까요? 델파이는 원래 명시적...
    • 노명환
    • 2002.02.03 02:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 데빠이
      2002.02.03 12:38
      ActionManager 컴폰이 Additional 페이지탭에 끝에서... 몇번째게여? ㅋㅋㅋ 끝에서 4번째에 고스란히 앉...
    • 한상원
    • 2002.02.03 01:23
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2002.02.03 02:55
        간단하게 짠다면 이렇게 한번 해보세요.....      OnDblClick 이...
    • gudwhrla
      2002.02.03 01:07
      procedure TForm1.DBGrid1DblClick(Sender: TObject); begin    Edit1.Text := Query1.FieldBy...
    • 강동현
    • 2002.02.02 23:07
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2002.02.03 03:05
        "'+edtId.Text+'" 에서 " 가 아니라 ' 이네요...   파라미터로...
    • 공성환
      2002.02.03 02:06
      showmessage(qry.SQl.Text); 를 해보세요... ' 로 되어야 될것같은데...  " 로 되어서 보...
    • 신주호
    • 2002.02.02 22:02
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 서영택
      2002.02.04 14:21
      현재날짜를 표현하는거라면 edit3.Text := DateToStr(Now); or edit3.Text := DateToStr(Date); 즐거...
    • 신주호
      2002.02.03 00:24
      답변해 주셔서 감사합니다. 그런데 그냥 함수로 하고 싶은데요.. 어떻게 하죠? 분명 inttostr, strtoint...
    • gudwhrla
      2002.02.03 01:04
         Edit3.text := FormatDateTime('yyyy"년 "mm"월 "dd"일"',Enc...
    • anderson
      2002.02.02 22:32
      TDateTimePicker를 쓰시죠?
    • 강동현
    • 2002.02.02 21:38
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 송영석
      2002.02.03 12:49
      쿼리 분석기에서 돌려본 결과 님이 쌍따옴표를 사용한게 문제가 되는군요... ㅋㅋㅋ "' <- ...
    • 장명선
      2002.02.02 21:58
      코딩을 변경해보세요 a.SQL.Clear; a.SQL.Add(' insert into Demo1 (a, b, c, d) '); a.SQL.Add(' val...
    • gudwhrla
      2002.02.02 21:56
      Query Analyzer 니 Sql Explorer 등을 이용해서 Insert Query 문을 직접 실행해 보세요 이상이 없으...
    • 수야.
    • 2002.02.02 21:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 머슴
      2002.02.02 23:06
      DBLookComboBox 가 제대로 연결을 해주었는데... 안보이는 이유는 DB가 연결이 안되었기 때문이 입...
    • 강동현
    • 2002.02.02 21:07
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 함도
      2002.02.03 21:31
    • 송영석
      2002.02.03 12:33
      SQL 구문 자체는 문제가 없는거 같지만... 혹시 ID <-- 이 필드가 Integer 형이 아닐까 하는 생각이 ...
    • 사발우성
      2002.02.02 21:25
    • 돌멩이
      2002.02.02 21:16
      에러 메세지를 함께 보내 주시면 더나은 답변이 된듯 합니다. Delmo1이라는 테이블이 존재 하는지 보세...
    • 한상훈
    • 2002.02.02 15:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강륜종
      2002.02.02 18:28
      라디오그룹의 오브젝트 인스펙터를 보시면 Columns 라는게 보일겁니다 그걸 조정해 보세요
    • 임현창
    • 2002.02.02 11:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Tk
      2002.02.02 23:28
      페이지 버퍼를 올려 보세요. http://www.delphi.or.kr/dwp/ibbench/ibbench.htm 여기 함보세요.
    • 주원진
    • 2002.02.02 09:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2002.02.02 17:00
      폴더열기... procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(    ...
    • 강륜종
    • 2002.02.02 06:06
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 초보껄떡이
      2002.02.02 19:17
      Query 를 보면 In-line View를 두 개 쓰셨는데 둘 사이에 콤마가 빠져있습니다. 그것때문에 아래와 같은 ...
    • 장명선
      2002.02.02 07:23
      코딩에는 문제가 없는데 오라클 SQL을 제가 잘 모르지만 대충 맞는것 같네요 제일 밑에 있는 Active를 하...
    • 강륜종
      2002.02.02 07:45
      Open으로 해도 안되는데여...
    • 나두초보!!
      2002.02.02 09:27
      아래 글을 봐서는 말 그대로.. db의 필드와 파라미터 값의 데이터 형식이 같지 않다는 말 같은데여.. ...
    • 강륜종
    • 2002.02.02 04:12
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 송영석
      2002.02.04 03:23
      ADOQuery.FieldByName('필드명').AsString 구문을 그대로 사용할 수 있습니다. 그럼 즐프
    • 장명선
      2002.02.02 04:21
      일반 Query 나 ADOQuery 의 사용법은 거의 동일합니다. 모르는 명령어는 도움말을 찾아보세요 그럼 즐...
    • 수야.
    • 2002.02.02 03:58
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 장명선
      2002.02.02 04:02
      DBListBox 보다는 DBLookUpListBox를 사용해보세요 그럼 즐코하세요
    • 수야.
      2002.02.02 05:01
      답변 너무고맙습니다. LookUpListBox를 쓰니 바로 나오는군요.. 참.. 컨트롤두 잘 알고 써야되겠네요.......
    • 장명선
      2002.02.02 05:25
      잘 되셨다니 저두 기쁘네요 Table에서 검색을 할때 Find라는것이 있습니다 그걸 사용해보시면 더 편리 할...
    • 신호
    • 2002.02.02 02:46
    • 3 COMMENTS
    • /
    • 0 LIKES
    • gudwhrla
      2002.02.02 21:00
      1.프로젝트에서 바로  더블클릭이벤트 추가하여 사용하기 unit Unit1; interface uses &...
    • 서정길
      2002.02.06 20:40
      안녕하세요 지나가다 우연히 보게 됐습니다 좋은거 알았네요 그런데 궁금한게... protected 로...
    • 신호
      2002.02.04 07:57
      감사합니다.정말감사합니다. 초보가 힘이납니다.
    • 이준희
      2002.02.02 18:56
      ^Space 해서 안나오면  소스 파일을 보고 멤버를 체크해서 보시는 방법밖에 없죠... &nbs...
    • 서별
    • 2002.02.02 02:13
    • 0 COMMENTS
    • /
    • 0 LIKES