아래 소스는 사실 잘 되는 소스입니다. A회사에서는요...사양: win98 SE
근데 B회사에서 개발을 하는데.... 아래소스가 안됩니다. 사양: win98 SE
레지스트리 생성도 안되고... 몇일째 이러고 있습니다.
레지스트리 생성 안되는 거야 다른방법을 찾으면 되고요...
fh2 := 0;
fh2 := FileCreate('C:Program FilesJoeuncomTestTest.exe');
//fh2에는 파일이 있으면 양수, 없으면 음수(-1)이 들어간다.
이 부분 여기서는 정말 화가 납니다. 왜 음수만 나올까요?
=================소스갑니다=============================================
procedure TFmDown.BitBtn1Click(Sender: TObject);
var //변수 생략.. 보시기에 불편할까봐..
begin
fh1 := 0;
//회사 서버 경로
fh1 := FileOpen('V:BoardJOEUNCOMProgramTest.exe', fmOpenRead);
//fh1에는 파일이 있으면 정수가, 없으면 -1이 들어간다.
if fh1 <> -1 then begin
fh2 := 0;
fh2 := FileCreate('C:Program FilesJoeuncomTestTest.exe');
//fh2에는 파일이 있으면 양수, 없으면 음수(-1)이 들어간다.
====> 여기 위에서 저경로에 실제 exe파일이 있는데 음수만 나옵니다.
if fh2 <> -1 then begin
//File DownLoad====여기부터======
icount := FileRead(fh1,buffer, sizeof(buffer));
while icount <> 0 do begin
Application.ProcessMessages;
fileWrite(fh2, buffer, icount);
icount := FileRead(fh1, buffer,Sizeof(buffer));
end;
//File DownLoad====여기까지======
//Registry생성
Reg:= TRegistry.Create;
try
//Rook지정
Reg.RootKey := HKEY_CURRENT_USER;
Reg.CreateKey('SOFTWARETest');
Reg.OpenKey('softwareTest', false);
Reg.WriteString('Testprog',server_date);
Reg.CloseKey;
Finally
Reg.Free;
end;
//showmessage('파일복사 완료');
end else
begin
//showmessage('복사대상이 없네요');
end;
FileClose(fh2);
FileClose(fh1);
end else
begin
//showmessage('서버에 프로그램이 없네요');
end;
//Traffic용 프로그램 실행
Winexec('C:Program FilesJoeuncomTestTest.exe',SW_SHOWNORMAL);
//다운로드 프로그램 종료
FmDown.Close;
end;
무엇이 잘 못 된 것일까요?
Const
fn : string = 'C:Program FilesJoeuncomTestTest.exe';
procedure TFmDown.BitBtn1Click(Sender: TObject);
begin
if FileExists(fn) then //화일이 존재할 경우
{//File DownLoad====여기부터====== }
else //화일이 없을 경우
{............................}
위와 같이 하시는게 어떨지?