|
몇일 고생했는데... 소스를 수정해서( FormatSettings....) 하니 컴파일이 정상으로 되네요^^
미궁으로 빠질듯 했는데.. 정말 감사합니다.
원래 2009를 사용했으나 윈도우8 이상에서 설치가 힘들다하여 xe3로 업그레이드 했었거든요...
그럼 즐거운 하루 보내세요..
정영훈 님이 쓰신 글 :
: 사용하는 빌더 버전이 xe2 이상인 듯 싶네요.
:
: 우선 원인은 이렇습니다.
: TimeSeparator: Char deprecated 'Use FormatSettings.TimeSeparator';
: ShortMonthNames: array[1..12] of string deprecated 'Use FormatSettings.ShortMonthNames';
:
: xe2 이전버전에서는 sysutils 유닛에 위와 같이 선언되어 있었습니다.
: 물론 디프리케이트로 선언 되어 있고 주석으로 추천하는 형식이 있네요.
:
: xe2 부터 제거가 된 듯 합니다. 이 부분은 디프리케이트 될 것이라고 했으니......
:
: 여기서 문제해결을 위한 방법은 2가지입니다.
: 빌더 버전을 xe로 낮추느냐 아니면 시냅스 소스를 수정하는냐.
:
: 버전을 XE 로 낮추는 것도 좋은 생각입니다.
: XE2 부터 모바일 지원을 위해서 런타임 라이브러리부터 뜯어 고치고 있고 IDE도 상당히 불안한 모습을 보이고 있습니다.
: 모바일 개발을 고려치 않고 대상 플랫폼을 윈도우만 고려한다면 XE2 이상이나 XE 나 큰 차이가 없습니다. 라이브 바인딩 같은 기능이 있기는 하지만 ide 안정성을 포기할 만큼 메리트는 없습니다.
:
: 그럼에도 xe2 이상 버전을 사용해야 한다면 소스를 수정해야 합니다.
: 즉 TimeSeparator, ShortMonthNames 을 사용하는 곳을 FormatSettings.TimeSeparator 와 FormatSettings.ShortMonthNames 로 수정하고 컴파일을 진행하면 됩니다.
:
: 네로 님이 쓰신 글 :
: : 다시 미궁에 빠졌네요... hpp, obj는 만들었지만 ㅠㅠ
: : 아래 조언주신대로 프로젝트에 add 추가해서 해봤는데 아래와 같은 에러가 뜨네요.. 물론 path 경로는 모두 추가했구요.
: :
: : [DCC Error]synautil.pas(609):E2003 Undeclared indentifier:'TimeSeparator'
: : [DCC Error]synautil.pas(2062):E2003 Undeclared indentifier:'ShortMontNames'
: : [DCC Fatal Error]blcksock.pas(106):F2063 Could not ompile used unit ;synautil.pas'
: :
: : 정영훈 님이 쓰신 글 :
: : : 프로젝트에 필요한 pas 파일을 add 해서 프로젝트에 추가하면 됩니다.(복사가 아닙니다.)
: : : 번거롭게 커맨드라인에서 컴파일안하셔도 됩니다.
: : :
: : : 네로 님이 쓰신 글 :
: : : : 다운받은 synapse40 폴더를 기준으로 커멘드라인에서 컴파일하니 .hpp, .obj들이 몇개 생겼네요
: : : : 지금까지 내가 원하는 *.pas만 프로젝트 폴더에 복사해서 하니 안되었었나 봅니다.
: : : : 이제부터는 프로젝트파일에 .hpp와 .obj를 link하여 활용하는 것을 해야겠네요^^
: : : : 감사합니다.
: : : :
: : : : 정영훈 님이 쓰신 글 :
: : : : : 아래 질문에 보니 시냅스쪽의 샘플을 컴포넌트로 잘못 알고 계신 것 같습니다.
: : : : : 질문자께서 설치가 안된다 하시는 것은 컴포넌트가 아니라 시냅스 샘플입니다.
: : : : :
: : : : : 해당 dcu 혹은 pas 가 다 제공되지 않는다면 델파이로도 컴파일이 안됩니다.
: : : : :
: : : : : 또한...링크의 샘플을 보니...과거 버전기반인 듯 하네요..
: : : : :
: : : : : SendTrap 펑션은 snmpsend 유닛의 TSNMPSend 클래스에 있습니다.
: : : : :
: : : : : 시냅스 컴포넌트면 원하시는 작업을 하실 수 있을 겁니다.
: : : : :
: : : : :
: : : : : 정영훈 님이 쓰신 글 :
: : : : : : 디펜던시가 있는 pas 파일을 알아서 컴파일 합니다...
: : : : : : 어떤식으로 테스트를 진행하는지 알 수 없으나 pas들이 있는 경로를 라이브러리 패스 경로로 추가하고 컴파일하세요
: : : : : :
: : : : : : 네로 님이 쓰신 글 :
: : : : : : : 답변 감사드립니다.
: : : : : : : 당연히 그렇게도 해봤죠 ^^
: : : : : : : add로 pas파일한 후 컴파일하면 메시지 창에 아래와 같은 에러가 뜹니다.
: : : : : : :
: : : : : : : [DCC Fatal Error] sndstrap.pas(44):F1026 File not found:'SNMPTrap.dcu'
: : : : : : :
: : : : : : : 물론 어디에도 SNMPTrap.dcu라는 파일은 전체 폴더 검색시 존재하지 않는 파일입니다.
: : : : : : : 커맨드라인에서 할때와 같은 내용에 에러메시지인것 같아요 ㅠㅠ
: : : : : : : 참고로 사용툴은 c++빌더 xe3입니다.
: : : : : : :
: : : : : : :
: : : : : : : 정영훈 님이 쓰신 글 :
: : : : : : : : 델파이와 c++빌더는 obj 레벨에서 호환이 됩니다.
: : : : : : : : 즉 pas 로 부터 obj, hpp 를 얻을 수 있습니다.
: : : : : : : :
: : : : : : : : 빌더안에 델파이 컴파일러(dcc32)가 함께 배포되기 때문인데요
: : : : : : : : dcc32로 커맨드라인에서 할 필요는 없습니다.
: : : : : : : : 단순히 프로젝트에 pas 파일을 등록하고 컴파일하면 알아서 hpp를 생성하고 obj로 만들어 링크까지 합니다.
: : : : : : : :
: : : : : : : : 프로젝트에서 우측 마우스 버튼 클릭하여 add 로 pas파일을 프로젝트에 등록하면 됩니다.
: : : : : : : : 그 후 빌드하면 됩니다.
: : : : : : : :
: : : : : : : : (빌더의 강력함이죠 c++과 델파이를 한 프로젝트에서 사용할 수 있습니다.)
: : : : : : : :
: : : : : : : : 네로 님이 쓰신 글 :
: : : : : : : : : 델파이용 *.pas를 다운받은 후 빌더에서 사용할려 합니다.
: : : : : : : : : 아래와 같이 델파이 컴파일러를 돌리면 된다하는데요.. 아래와 같은 에러가 생기네요
: : : : : : : : :
: : : : : : : : : c:\dcc32.exe -jphw snmptrap.pas
: : : : : : : : : snmptrap.pas(7) Fatal: F1026 File not found: 'SNMPSend.dcu'
: : : : : : : : :
: : : : : : : : : snmptrap.pas 파일을 열어보면 아래와 같은 코드가 있는데 파일검색하면 안보이네요
: : : : : : : : : /////////////
: : : : : : : : : implementation
: : : : : : : : : uses SNMPTrap, ASN1Util;
: : : : : : : : : ////////////////
: : : : : : : : :
: : : : : : : : : 델파이를 설치한 후 빌더용 파일을 생성해야 되는지.....
: : : : : : : : :
|