Q&A

  • 버전 체크시 파일 속성 바꾸기
안녕하세요!



로깅 시에 메인 프로그램의 버전 체크를 하여 현 시스템의 버전이 낮을 경우

새 버전을 서버로 부터 전송 받게 됩니다.



이때 INI 파일을

1. 쓰기전용으로 바꾸고, (FileSetAttr(파일명, not faReadOnly and faArchive and not faHidden))

2. 새버전으로 바꾼후

3. 다시 읽기전용으로 바뀌게 됩니다.(FileSetAttr(파일명, faReadOnly and (not faArchive ) or faHidden))



문제는 위의 2번과 3번의 시간차로 INI파일이 새버전으로 수정되지 않더군요.



2번과 3번 사이에 Loop을 두어서 시간차를 주었더니 파일이 수정되었습니다.

(for i := 0 to 10000

for j := 0 to 100000)



이 방법 이외의 것을 알고 계시는 분이면 답변 부탁드립니다.



문영미 올림.

1  COMMENTS
  • Profile
    김영대 1999.12.14 22:54
    문영미 wrote:

    > 안녕하세요!

    >

    > 로깅 시에 메인 프로그램의 버전 체크를 하여 현 시스템의 버전이 낮을 경우

    > 새 버전을 서버로 부터 전송 받게 됩니다.

    >

    > 이때 INI 파일을

    > 1. 쓰기전용으로 바꾸고, (FileSetAttr(파일명, not faReadOnly and faArchive and not faHidden))

    > 2. 새버전으로 바꾼후

    > 3. 다시 읽기전용으로 바뀌게 됩니다.(FileSetAttr(파일명, faReadOnly and (not faArchive ) or faHidden))

    >

    > 문제는 위의 2번과 3번의 시간차로 INI파일이 새버전으로 수정되지 않더군요.

    >

    > 2번과 3번 사이에 Loop을 두어서 시간차를 주었더니 파일이 수정되었습니다.

    > (for i := 0 to 10000

    > for j := 0 to 100000)

    >

    > 이 방법 이외의 것을 알고 계시는 분이면 답변 부탁드립니다.

    >

    > 문영미 올림.



    // INI 파일을 사용하면서 이 파일에 어떤변화(수정,추가,삭제...)

    // 를 주었을때 Windows 의 INI 파일들은 그 변화가 곧바로 INI파일에

    // 반영되지 않고 cached 됩니다

    // 이 INI파일에 변화를 주었을때 곧바로 cache 를 flush 하는

    // API함수가 있습니다

    // 아래의 예제를 보세요



    procedure TForm1.B_SaveINIClick(hostpro: String);

    var

    IniFile: TIniFile;

    begin

    IniFile := TIniFile.Create('test.ini');

    try

    IniFile.WriteString('Section1', 'Name1', 'Value1');

    IniFile.DeleteKey('Section2', 'Name2');

    finally

    IniFile.Free;

    // < INI file flushing >

    WritePrivateProfileString(nil, nil, nil, 'test.ini');

    end;

    end;





    • Skill
    • 1999.12.14 21:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 1999.12.14 23:46
      [델파이팁모아] 메뉴의 나이렉스(한댈) 206번에 StringGrid의 삽입/삭제에 대해 잘 나와 있습니다.
    • 김주석
    • 1999.12.14 21:12
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.12.15 00:36
      김주석 wrote: > rexec를 구현해야 합니다.. > ftp로 서버(sun)에 디렉토리를 만들고 'chmod'명령어를 수...
    • 김주석
      1999.12.15 01:09
      김영대 wrote: > 김주석 wrote: > > rexec를 구현해야 합니다.. > > ftp로 서버(sun)에 디렉토리를 만들...
    • 김주석
      1999.12.15 01:36
      Re: unix program 구동 ??? 정인복 wrote: > 안녕하세여 .. > 델파이 응용프로그램에서 unix server (...
    • 김영대
      1999.12.15 01:31
      > FTP 컴포넌트는 Client/Server판 delphi4.0의 NMFTP를 쓰고 있구요.. > Docommand명령어 실행시 > ...
    • 성호종
      2000.07.04 02:20
      이미나 wrote: DB가 informix 가 아닌가 싶군요. informix 7. 버젼에서는 query 또는 stored procedure ...
    • RyanYun
    • 1999.12.14 20:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.12.14 22:57
      RyanYun wrote: > 안녕하세요^^ 델파이 전문 개발자님. > > DirectoryBox에서 A-Drive/E-Drive를 지정...
    • 한빛
    • 1999.12.14 20:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.12.14 22:59
      한빛 wrote: > 안녕하세요. > 오늘도 이곳에서 도움을 얻고자 이렇게 메일을 띄웁니다. > 배열을 선언...
    • 문영미
    • 1999.12.14 20:28
    • 1 COMMENTS
    • /
    • 1 LIKES
    • 김영대
      1999.12.14 22:54
      문영미 wrote: > 안녕하세요! > > 로깅 시에 메인 프로그램의 버전 체크를 하여 현 시스템의 버전이 낮...
    • TeamX
      1999.12.14 23:55
      툴바버턴의 속성중에 보면 Grouped 속성이 있습니다. 그걸 켜 보세요,... 그문제도 아니면...... 글쎄요...
    • 유경희
    • 1999.12.14 20:14
    • 3 COMMENTS
    • /
    • 0 LIKES
    • TeamX
      1999.12.14 21:28
      선언까지 하고 구현까지는 했으나....... 프로그램에서 전혀 사용하지 않는 심볼 이다 그런뜻인데요.........
    • 혀노
      1999.12.14 20:30
      저도 잘은 모르지만요,,에러상으로는 선언을 해놓고 사용하지 않는다는 것이네요(다아는 사실인가?? ^^;;) ...
    • 유경희
      1999.12.14 20:48
      답변 감사합니다. 그럼 제가 선언은 제대로 한거로 볼 수 있나요? 선을 하고도 구현해서 나온 에러거...
    • 장영철
      1999.12.14 19:36
      글쎄 이게 답이 될 수 있을지 모르겠지만요 조금이나마 힘이 되었으면 해서 적어봅니다 저는 4명 까지 S...
    • 이상환
    • 1999.12.14 18:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • TeamX
      1999.12.14 19:54
      CreateRoundRectRgn SetWindowRgn HRGN 위의 세단어로 Win32 API 도움말에서 검색해 보세요. 그...
    • 홍길동
      1999.12.14 21:57
      어플리케이션과 억세스 바이올레이션 에러.. 일본어 지원 IME를 설치하셔서 그럴겁니다. 프로그램 추가...
    • TeamX
      1999.12.14 19:52
      한델자료실에 보면 드래그관련 콤포넌트가 있습니다. 그걸 사용하세요. 김운식 wrote: > Filelistbo...
    • judaslee
    • 1999.12.14 12:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장영철
      1999.12.14 19:32
      우선 ODBC 설정을 해 주십시요. 그리고 Table 컴퍼넌트를 여시면 Database name에 ODBC의 이름이 올라 옵...
    • 정주영
      1999.12.15 19:34
      유니소프트 wrote: > 코딩에 힘쓰시는 여러분들 노고가 많습니다. > 다름이 아니라 제가 짜는 프로그램이...
    • 유니
    • 1999.12.14 08:38
    • 2 COMMENTS
    • /
    • 0 LIKES
    • ^.^
      1999.12.14 19:29
      유니 wrote: > DBGrid에서 > Click을 할 때 마다 그 각각의 field값을 Edit Box에 뿌려주려고 합니...
    • 김상면
      1999.12.14 18:22
      DataSource 콤포넌트에 보심 OnDataChange란 이벤트가 있습니다... procedure TForm1.DataSource1DataCh...
    • 류성호
      1999.12.14 23:13
      질문이 범위가 너무 꺼 자세하게는 답을 못하겠습니다. 제가 질문을 정리하자면 MIDAS을 이용해서...
    • 김매경
    • 1999.12.14 17:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장영철
      1999.12.14 19:41
      가장 간단하고 무식(?)하면서도 정확한 방법은 SQL 컴퍼넌트를 이용해서 작성하고 String Grid를 이용하는...
    • 안재현
      1999.12.14 07:47
      강성만 wrote: > 안녕하세요. > 제목이 간단하게 설명이 안되서요.. > > db는 MS-SQL7.0을 사용 중이...