안녕하세요...
제가 formuler one(f1book)을 이용해서...프로그램을 만들었는데요...
f1book을 사용하지 않았을때는 .exe화일만 있으면...어디서나 작동을 했는데요...
f1book을 사용한 후에는 클래스가 등록되어 있지 않습니다...라고 메세지가 뜨더군여.
그래서...regsvr32 ocx를 등록을 시켜주고 하니...제대로 작동이 됩니다...
그런데 문제는 프로그램을 다운시켜줄건데....어떻게 일일이 그 작업을 해줄수가 없잖아여...
그래서 질문드려봅니다...
자동으로 regsvr32에 등록 시킬수는 없는지 가르쳐 주세요...
읽어주셔서 감사하고요...
되는지 않되는지 가르쳐 주세요...그럼...꾸벅
f1book란게 아마도 .ocx인것 같네요. 질문이 명확하지가 않아서...
세가지 정도의 방법이 있습니다.
레지스트리를 직접 건드리는 방법, .reg파일을 만들어서 레지스트리에 등록하는 방법,
이것들은 둘 다 복잡하죠.
마지막 방법이 regsvr32.exe를 이용하는 방법입니다. 설마 윈도우환경이 아닌곳에
배포하려는 것은 아닐것입니다. 윈도우환경에선 모두 위 프로그램이 기본적을 깔려있습니다.
헉~ 안깔려있으면... 그럴리는 없겠지만. 위 프로그램을 이용하는 것이 제일 쉽죠.
따로 셋업프로그램을 만드시거나 아님 프로젝트의 시작부분 또는 폼의 OnCreate부분에서
regsvr32.exe를 이용해서 해당 .ocx를 등록시켜주는 것이 제일 간단합니다.
var
CmdLine: string;
WinDir: array[0..127] of Char; // 윈도우즈 디렉토리, Default = C:Windows
InstallPath: string; // 인스톨한 곳의 풀패스, 예) C:F1Book
OcxFileName: string; // 인스톨할 .ocx 파일이름, 예 F1Book.ocx
begin
// 윈도우즈 디렉토리를 얻는다. 사용자에 따라서 윈도우즈 디렉토리가 C:Windows가
// 아닐수도 있으므로 이렇게 해서 얻어야 확실합니다.
GetWindowsDirectory(WinDir, 128);
... // InstallPath, OcxFileName등을 설정해주세요.
CmdLine := string(WinDir) + '' + 'regsvr32.exe ' + InstallPath + OcxFileName;
WinExec(PChar(CmdLine), SW_SHOWDEFAULT);
end;
^^ 항상 즐코하세요.
서비 wrote:
> 안녕하세요...
> 제가 formuler one(f1book)을 이용해서...프로그램을 만들었는데요...
>
> f1book을 사용하지 않았을때는 .exe화일만 있으면...어디서나 작동을 했는데요...
> f1book을 사용한 후에는 클래스가 등록되어 있지 않습니다...라고 메세지가 뜨더군여.
>
> 그래서...regsvr32 ocx를 등록을 시켜주고 하니...제대로 작동이 됩니다...
>
> 그런데 문제는 프로그램을 다운시켜줄건데....어떻게 일일이 그 작업을 해줄수가 없잖아여...
>
> 그래서 질문드려봅니다...
> 자동으로 regsvr32에 등록 시킬수는 없는지 가르쳐 주세요...
> 읽어주셔서 감사하고요...
>
> 되는지 않되는지 가르쳐 주세요...그럼...꾸벅