|
만해 님이 쓰신 글 :
: 안녕하세요
:
: 만해입니다.
:
: 지난번 부터 하고 있던
:
: 웹 로봇을 만들기 위해서
:
: 지금 파서를 지난번에 있던거를 뜯어 고치고 있는데요
:
: 분명히 함수 선언밑 여러가지로 다 고쳐놨는데요
:
:
: void __fastcall TForm1::BodyParser(AnsiString html)
: {
: THTMLParser* hParser = new THTMLParser();
: hParser->Lines->Add(html);
: hParser->Execute();
: TStringList * AList = new TStringList();
: AList = hParser->GetTagProperty("A","HREF");
: }
:
: 이게 호출 부분 이고요
:
:
: class DELPHICLASS THTMLParser;
: class PASCALIMPLEMENTATION THTMLParser : public System::TObject
: {
: typedef System::TObject inherited;
:
: private:
: AnsiString Text;
: AnsiString Tag;
: bool isTag;
: bool isExecute;
: void __fastcall AddText(void);
: void __fastcall AddTag(void);
:
: public:
: Classes::TList* parsed;
: Classes::TStringList* Lines;
: __fastcall THTMLParser(void);
: __fastcall virtual ~THTMLParser(void);
: void __fastcall Execute(void);
: bool __fastcall IsExe(void);
: Classes::TStringList* __fastcall GetTagProperty(AnsiString ATag, AnsiString AProperty);
: };
:
: 이쪽은 함수 선언 부분이고요
:
:
: function THTMLParser.GetTagProperty(ATag , AProperty : string ):TStringList;
: var
: j,i:integer;
: obj:TObject;
: HTMLTag:THTMLTag;
: HTMLParam:THTMLParam;
: begin
: if not IsExe then
: Execute;
:
: for i:= 1 to parsed.count do
: begin
: obj:=parsed[i-1];
:
: if obj.classtype=THTMLTag then
: begin
: HTMLTag:=THTMLTag(obj);
: if HTMLTag.Name = ATag then
: begin
: for j:= 1 to HTMLTag.Params.count do
: begin
: HTMLParam:=HTMLTag.Params[j-1];
: if HTMLParam.key = AProperty then
: Result.Add(HTmlParam.value);
: end;
: end;
: end;
: end;
: obj.Destroy;
: HTMLTag.Destroy;
: HTMLParam.Destroy;
: end;
:
: 이것은 실제 루틴 부분입니다.
:
: 우선은 빌더에서는 코딩상에서는 별 에러가 없고요
:
: 다만 에러 나는건
:
: [Linker Error] Unresolved external '__fastcall Htmlpars::THTMLParser::GetTagProperty(System::AnsiString, System::AnsiString)' referenced from D:\PROJECT\SOCKET\UNIT1.OBJ
:
: 기존에 있던 소스에 제가 방금전에 올려 놓은 소스를 추가 시켯을 뿐인데요
:
: 뭔가 잘 안되네요
:
: 좀 봐주세요~
:
: PS. 그런데 이 질문은 델파이란에 올려놔야 하는지
:
: 여기 올려 놔야 하는지 잘 모르겠네요
:
: 소소는 델파이인데, 호출 부분은 빌더니 쩝~ 구분이 잘 안되네요 하하~
:
: 고수님들의 조언 바랍니다.
소스수정한 부분이 제대로 반영이 안된거 같네요.
혹 컴포넌트라면 컴포넌트를 다시 리빌드해서 인스톨 해야 할겁니다.
|