안녕하세요...이곳에서 많은 지식을 배우고 있는 초보개발자입니다...
delphi6에서 indy80의 TidHTTP를 사용해서 Post시키려는데 값이 넘어가질 않아
이곳에서 검색해보니 indy버전이 낮으면 그런 문제가 발생한다는 글을 보고
새로 indy90.17 인스톨버전을 설치했습니다...
기존의 소스에는 수정하지 않은채이고 인디만 새로이 설치한 상태에서 프로그램을
실행시키니 아래와 같은 에러가 발생합니다...
'Property MaxLineAction does not exist.'
기존의 인디와는 속성값이 많이 바뀐것 같는데 무엇때문인지 알 수가 없네요...^^;
도움 부탁드립니다...
소스첨부합니다...
procedure TForm1.Button3Click(Sender: TObject);
var
sURL, data: string;
response: TStringStream;
sourcedata: TStringlist;
begin
sURL:= 'http://127.0.0.1/TRACE.ASP';
data:= 'customID='+customID;
response:= TStringstream.Create('');
sourcedata:= Tstringlist.Create;
try
sourcedata.Add(data);
try
IdHTTP1.Post(sURL, sourcedata, response);
except
ShowMessage('포스트 에러');
end;
finally
response.Free;
sourcedata.Free;
end;
end;
델파이가 소스는 pas 파일에 화면에 디쟈인 하시고 또 프로퍼티에 넣으신 값들있죠? 그런건 dfm 파일에 들어가게 됩니다. 그래서 보통 작업하실때는 폼으로 하기 때문에 두 파일이 쌍이 되는거죠..
해결방법은 다른거 없구요.. 파일이 열어진다면 이미 기존의 것은 날아갔다고 보시면 되니까. ( 소스말구요. dfm에 있는자료 ) 다시 올려서 작업을 하시고
아니면 일단 제거를 해놓으시고 콤포넌트 설치하신 다음에 다시 올려서 소스와 연결을 해주시는 작업을 하셔야 합니다..
델파이에서 파일을 읽을때. 프로퍼티에 들어가는 값들 을 dfm에 저장하게 되는데 이게 현재 설치된 콤포넌트의 프로퍼트의 값에 의존하게 됩니다.
당연히 그래서 새로히 추가되는 프로퍼티가 있거나 혹은 빠지는 프로퍼티가 있게되면 dfm 파일에서 읽어들이거나 쓸때 프로퍼티의 크기가 변해버리니까 문제가발생하는 겁니다.
델파이 버젼도 그렇고 콤포넌트 버젼도 변하게 되면 이전 소스를 그대로 쓰시기는 힘듭니다...
그럼.. 즐거운 시간되세요