좋은날되십시오.
요즘은 델파이가 너무 인기가 많아서 업무용을 개발하시는 분들의 대분이
사용하고 계신줄 알고 있습니다.
그래서 그런지 여기저기 설치하다 보면 델파이로 개발된 것 들이 상당수
아니 관공서는 전부라 해도 과언이 아닐 정도입니다.
문제는 여기에 있습니다.
제가 쓰는 BDE는 5.0 버젼인데, 델파이 3.0이하의 버젼으로 개발되어진 프로그램이 설치된 곳에 이것을 설치하려면, 수작업을 할 때는 알리아스의 환경을
모두 기술하였다가, 레지스트리를 지우고, 5.0을 깔고 다시 예전의 것을 등록하면, 정상적으로 저의 프로그램과 다른 프로그램이 작동되는데,
이것을 프로그램으로 구현하여 실행하였더니,
같은 버젼이 (5.0)이 설치된곳과 처음설치되는 환경에서는 제대로 작동되는것
같은데 낮은 버젼이 설치된 곳에서 실행하였더니, 에러가 나는가 봅니다.
구현방법은 이렇습니다.
먼저 BDE가 설치되어있는지 레지스트를 검사하고, 있으면, 현재등록된 알리아스들의 정보를 모두 취한후 레지스트를 삭제하고, 다시 설치후 제가 필요한 알리아스를 등록하고, 전에 등록된 내용을 모두 등록하는 식입니다.
그런데 낮은버젼이 설치된 곳에서 등록된 알리아스를 얻고가 할때 장애가 발생하는것 같습니다.
수작업으로 하자니 두세개도 아니오, 수작업으로 하자니, 참...
문제는 다른 개발제품들이 인스톨쉴드등 설치프로그램을 이용하다보니,
BDE5.0이 설치되어 있지만, BDE4.0을 바로 인스톨하니, 당장 그것은 실행이 되나, 그외의 것들은 실행이 되지 않는것으로 (저의 판단착오였으면 좋으련만...) 알고 있는데,
말이 많은데, 낮은버젼이 설치된 곳에 높은 버젼을 설치하면서, 전의 알리아스들을 모두 이상없이 복구하는 방법은 무엇인지요. (프로그램적으로)
idapi.cfg 파일을 복사하는식으로 하면 되는것인지...
남들은 쉽게하는데 나만 이러고 있는것은 아닌지...
경험자들의 도움바랍니다.
> 좋은날되십시오.
> 요즘은 델파이가 너무 인기가 많아서 업무용을 개발하시는 분들의 대분이
> 사용하고 계신줄 알고 있습니다.
> 그래서 그런지 여기저기 설치하다 보면 델파이로 개발된 것 들이 상당수
> 아니 관공서는 전부라 해도 과언이 아닐 정도입니다.
> 문제는 여기에 있습니다.
>
> 제가 쓰는 BDE는 5.0 버젼인데, 델파이 3.0이하의 버젼으로 개발되어진 프로그램이 설치된 곳에 이것을 설치하려면, 수작업을 할 때는 알리아스의 환경을
> 모두 기술하였다가, 레지스트리를 지우고, 5.0을 깔고 다시 예전의 것을 등록하면, 정상적으로 저의 프로그램과 다른 프로그램이 작동되는데,
> 이것을 프로그램으로 구현하여 실행하였더니,
> 같은 버젼이 (5.0)이 설치된곳과 처음설치되는 환경에서는 제대로 작동되는것
> 같은데 낮은 버젼이 설치된 곳에서 실행하였더니, 에러가 나는가 봅니다.
>
> 구현방법은 이렇습니다.
> 먼저 BDE가 설치되어있는지 레지스트를 검사하고, 있으면, 현재등록된 알리아스들의 정보를 모두 취한후 레지스트를 삭제하고, 다시 설치후 제가 필요한 알리아스를 등록하고, 전에 등록된 내용을 모두 등록하는 식입니다.
> 그런데 낮은버젼이 설치된 곳에서 등록된 알리아스를 얻고가 할때 장애가 발생하는것 같습니다.
>
> 수작업으로 하자니 두세개도 아니오, 수작업으로 하자니, 참...
> 문제는 다른 개발제품들이 인스톨쉴드등 설치프로그램을 이용하다보니,
>
> BDE5.0이 설치되어 있지만, BDE4.0을 바로 인스톨하니, 당장 그것은 실행이 되나, 그외의 것들은 실행이 되지 않는것으로 (저의 판단착오였으면 좋으련만...) 알고 있는데,
>
> 말이 많은데, 낮은버젼이 설치된 곳에 높은 버젼을 설치하면서, 전의 알리아스들을 모두 이상없이 복구하는 방법은 무엇인지요. (프로그램적으로)
> idapi.cfg 파일을 복사하는식으로 하면 되는것인지...
>
> 남들은 쉽게하는데 나만 이러고 있는것은 아닌지...
> 경험자들의 도움바랍니다.
>
제 생각에는 어떻게 하더라도 그런식의 문제는 발생하게 됩니다.
나중에 언인스톨의 경우도 마찬가지가 되겠죠.. 예를 들어 기존에 설치된 프로그램에서
언인스톨하면서 BDE를 지워버리면 내 프로그램은 역시 못돌죠 ^^;
(단. 다음의 내용은 Paradox에서는 가능한 해결책이 아닐까 생각합니다..
그리고 대부분의 간단한 프로그램의 경우는 공짜니깐 Paradox를 쓰겠죠 -.- )
그래서 제 경우에는 저만의 BDE 폴더를 만들어서 사용하지요.. 물론 Alias는 사용하지
않구요.. 대신에 TDatabase Component를 사용해서 실행시에 해당 데이타베이스 폴더로의
알리어스를 생성해서 사용합니다... 기본적으로 BDE는 시스템 패스를 검색하여 찾아내니깐 기존의 BDE는 있던지 말던지 신경쓰지말고, 내가 사용할 BDE만 실행파일과 같은
경로에 두고 사용하던지, 아님 프로그램 실행시에 내가 원하는 BDE폴더를 패스에 추가해주는 방법을 씁니다.
그럼 따로 BDE를 인스톨할 필요도 없고, 필요한 파일만 (모르면 BDE폴더 전체를) 내가 알고 있는 위치에 복사해 두면 되죠....
그럼 즐거운 하루되시길.....