Q&A

  • idHTTP 동적생성...
uses
   ..., idHTTP, idComponent;

type
  TForm1 = class(TForm)
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure idhttp1Work(Sender: TObject; AWorkMode: TWorkMode;
                              const AWorkCount: integer);
    procedure idhttp1WorkBegin(Sender: TObject; AWorkMoe: TWorkMode;
                              const AWorkCountMax: integer);
    procedure idhttp1End(Sender: TObject; AWorkMode: TWorkMode);
    procedure idhttp1Status(axSneder: TObject; const axStatus: TidStatus;
                              const asStatusText: String);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
   idHTTP1: TidHTTP;
begin
   try
      idHTTP1:= TidHTTP.Create(nil);
      idHTTP1.OnWork:= idHTTP1Work;   <-------------
      idHTTP1.OnWorkBegin:= idHTTP1WorkBegin;
      idHTTP1.OnWorkEnd:= idHTTP1WorkEnd;
      idHTTP1.OnWorkStatus:= idHTTP1Status;
      idHTTP1.Get('http://www.naver.com');
   finally
      idHTTP1.Free;
   end;
end;

procedure TForm1.idhttp1Work(Sender: TObject; AWorkMode: TWorkMode;
                              const AWorkCount: integer);
begin
//
end;

procedure TForm1.idhttp1WorkBegin(Sender: TObject; AWorkMoe: TWorkMode;
                              const AWorkCountMax: integer);
begin
//
end;

procedure TForm1.idhttp1End(Sender: TObject; AWorkMode: TWorkMode);
begin
//
end;

procedure TForm1.idhttp1Status(axSneder: TObject; const axStatus: TidStatus;
                              const asStatusText: String);
begin
//
end;

end.

위와 같이 동적생성하고 각 이벤트 프로시저를 정의해줬습니다.

그런데 <-------------표시 부분에서 부터 에러가 납니다.

다음은 에러 메세지입니다.

[error]Unit1.pas(44): E2009 Incompatble types: 'Parameter lists differ'

여러분들의 많은 답변 바랍니다.
3  COMMENTS
  • Profile
    황준동 2006.11.21 01:17
    에러 메시지 자체는 파라메터 리스트가 잘못됐다는 메시지인데... 도움말에서 찾아보시구요.

    델파이나 인디 버전을 몇을 쓰시는지 모르겠지만, Delphi 7, Indy 9을 사용하는데

    프로시저 이름 잘못된것 말고는 정상적으로 컴파일이 되네요...


    <!--CodeS-->
          idHTTP1.OnWork:= idHTTP1Work;
          idHTTP1.OnWorkBegin:= idHTTP1WorkBegin;
          idHTTP1.OnWorkEnd:= idhttp1End;
          idHTTP1.OnStatus := idHTTP1Status;
    <!--CodeE-->

  • Profile
    이효상 2006.11.21 05:50



    답변 감사합니다.

    버전을 표기안했군요.

    델파이는 ---> Borland Delphi 2005 Architect 이고.

    인디 버전은 ---> 10.0.20 입니다.

    그런데 아무리 해도 전 컴파일 안되고 계속 에러 나던데 왜 그런지.... 아~~~

    여기서 포기하면 안되느니.....!!!
  • Profile
    황준동 2006.11.28 02:47


    그러시면요, 소스 부분을 참고해 보세요. 만약, OnWork에서 에러가 발생한다면,
    소스에서 Ctrl+클릭 하게되면 선언되어 있는 부분을 찾아가게 되거든요.
    만약 그게 잘 안되면  TidHTTP 가 선언된 부분에서 부터 찾아가기 시작해서,
    이 이벤트가 선언된 부분으로 가서 이벤트가 어떤 형태로 선언됐는지 확인해서
    파라메터 형태가 어떤지 확인해 보세요.