Q&A

  • 델파이 함수 ParamStr에 버그 있다.(?)
여러분 테스트 한번 해보십시요..

델파이에 ParamStr함수가 있습니다.

이 함수는 명령행의 파라메타를 리턴하는 함수 입니다.

아시는 분은 다 아시죠?



어떻게 리턴하는지는 쏘스를 보시면 압니다.

실행된 파일명은 API함수 GetModuleFileName함수를 써서 리턴하고요.

파라메타는 API함수 GetCommandLine함수를 써서 내부적으로 GetParamStr함수에서

Index에 해당하는 파라메타만 추출하여 리턴합니다.

그런데 API함수인 GetCommandLine함수를 호출하면 아래와 같이 리턴 됩니다.

(예를들어 c:tempaaa.exe abcdefg라고 실행
5  COMMENTS
  • Profile
    타락천사 2000.06.16 22:15
    안녕하세여. 타락임다..ㅠㅠ



    파라미터는 어떻게 받았져?



    버그 난다던 Win95는 이상없는 시스템 인가여?



    글구, 제가 답변한대루 ParamStr(0) 부터 ParamStr(ParamCount)까지 받으면



    버그나는 컴에선 파라미터가 어디에 들어가져?



    테스트하셨던, 파라미터만 받는 소스를 함 올려보세여..



    왕초보 타락천사..ㅠㅠ



  • Profile
    이종완 2000.06.16 22:31
    타락천사 wrote:

    > 안녕하세여. 타락임다..ㅠㅠ

    >

    > 파라미터는 어떻게 받았져?

    >

    > 버그 난다던 Win95는 이상없는 시스템 인가여?

    >

    > 글구, 제가 답변한대루 ParamStr(0) 부터 ParamStr(ParamCount)까지 받으면

    >

    > 버그나는 컴에선 파라미터가 어디에 들어가져?

    >

    > 테스트하셨던, 파라미터만 받는 소스를 함 올려보세여..

    >

    > 왕초보 타락천사..ㅠㅠ

    >



    쏘스는 몇줄 않되니 직접 코딩합니다. 옆의 주석은 에러나는 컴에서의 결과 입니다.

    실행은 c:tempparam.exe abcdef로 합니다.

    var pa: PChar;

    begin

    ShowMessage(ParamStr(0)); //C:TEMPPARAM.EXE

    ShowMessage(ParamStr(1)); // 없음

    pa:=GetCommandLine;

    ShowMessage(StrPas(pa)); //"C:tempparam.exe"abcdef

    end;



    그리고 타락천사님이 하라는데로 했지만 위 결과와 같았습니다.

    문제는 GetCommandLine함수가 항상 ("실행파일명" 파라메타)로 리턴이 되느냐

    아니면 실행파일명과 파라메타사이의 공백이 없을수도 있느냐 입니다.

    공백이 있을수도 있고 없을수도 있다면

    델파이 ParamStr함수가 처리를 못한다는 것이지요.

    제가 생각하기에도 않되는 컴이 이상한것 같은데

    그 컴에서 Winword를 테스트 해본결과 잘 되더군요.

    테스트는 명령행에서 winword test.doc라고 해보았지요.

    물론 test.doc가 잘 load되더군요..

  • Profile
    최용일 2000.06.16 21:11
    안녕하세요. 최용일입니다.



    전체 파라매터가 "c:tempaaa.exe"abcdefg <<-- 이런 형식으로 리턴된다면 이건 그



    컴퓨터에 무엇인가가 문제가 있는것같습니다. 이런 형식은 델파이뿐만아니라 윈도우즈도



    인식을 하지 못합니다. 일례로 시작메뉴의 실행창에서 두 가지 경우를 실행해보십시오.



    이러한 경우는 델파이의 문제가 아닙니다.



    GetCommandLine API함수는 "c:tempaaa.exe" abcdefg 이러한 형태로 리턴합니다.



    델파이의 파라매터관련 함수들이 GetCommandLine을 이용하니까 이경우는 윈도우의 문제



    가 있는거 같습니다.



    ^^ 항상 즐코하세요.



    이종완 wrote:

    > 여러분 테스트 한번 해보십시요..

    > 델파이에 ParamStr함수가 있습니다.

    > 이 함수는 명령행의 파라메타를 리턴하는 함수 입니다.

    > 아시는 분은 다 아시죠?

    >

    > 어떻게 리턴하는지는 쏘스를 보시면 압니다.

    > 실행된 파일명은 API함수 GetModuleFileName함수를 써서 리턴하고요.

    > 파라메타는 API함수 GetCommandLine함수를 써서 내부적으로 GetParamStr함수에서

    > Index에 해당하는 파라메타만 추출하여 리턴합니다.

    > 그런데 API함수인 GetCommandLine함수를 호출하면 아래와 같이 리턴 됩니다.

    > (예를들어 c:tempaaa.exe abcdefg라고 실행
  • Profile
    이종완 2000.06.16 22:09
    최용일 wrote:

    > 안녕하세요. 최용일입니다.

    >

    > 전체 파라매터가 "c:tempaaa.exe"abcdefg <<-- 이런 형식으로 리턴된다면 이건 그

    >

    > 컴퓨터에 무엇인가가 문제가 있는것같습니다. 이런 형식은 델파이뿐만아니라 윈도우즈도

    >

    > 인식을 하지 못합니다. 일례로 시작메뉴의 실행창에서 두 가지 경우를 실행해보십시오.

    >

    > 이러한 경우는 델파이의 문제가 아닙니다.

    >

    > GetCommandLine API함수는 "c:tempaaa.exe" abcdefg 이러한 형태로 리턴합니다.

    >

    > 델파이의 파라매터관련 함수들이 GetCommandLine을 이용하니까 이경우는 윈도우의 문제

    >

    > 가 있는거 같습니다.

    >

    > ^^ 항상 즐코하세요.

    물론이죠, 그런데 MS계열 제품(솔직히 winword만 테스트 해봤지만)은

    제대로 동작을 하니까 문제죠.

    자세히 설명된책을 보지 못했는데

    GetCommandLine함수에서 리턴되는 값이

    어느책에 보니까 이렇게 실행되는파일은 ""로 묶여있고 나머지는 파라메타라고

    하더군요.

    이말이 사실이라면 델파이 ParamStr함수가 문제가 있는것이 겠지요.

  • Profile
    최용일 2000.06.17 09:10
    안녕하세요. 최용일입니다.



    근데요. 문제가 있는 컴에서 "winword"test.doc도 잘 동작하나요?



    잘 동작한다면 델파이함수의 델파이 함수의 알고리즘이 문제가 있겠지만 그렇지 않다면



    아무래도 시스템이상이라고 봐야죠.



    아뭏튼 둘중의 하나가 문제가 있긴한데... 저도 잘 모르겠네요.



    ^^ 항상 즐코하세요.



    ^^

    이종완 wrote:

    > 최용일 wrote:

    > > 안녕하세요. 최용일입니다.

    > >

    > > 전체 파라매터가 "c:tempaaa.exe"abcdefg <<-- 이런 형식으로 리턴된다면 이건 그

    > >

    > > 컴퓨터에 무엇인가가 문제가 있는것같습니다. 이런 형식은 델파이뿐만아니라 윈도우즈도

    > >

    > > 인식을 하지 못합니다. 일례로 시작메뉴의 실행창에서 두 가지 경우를 실행해보십시오.

    > >

    > > 이러한 경우는 델파이의 문제가 아닙니다.

    > >

    > > GetCommandLine API함수는 "c:tempaaa.exe" abcdefg 이러한 형태로 리턴합니다.

    > >

    > > 델파이의 파라매터관련 함수들이 GetCommandLine을 이용하니까 이경우는 윈도우의 문제

    > >

    > > 가 있는거 같습니다.

    > >

    > > ^^ 항상 즐코하세요.

    > 물론이죠, 그런데 MS계열 제품(솔직히 winword만 테스트 해봤지만)은

    > 제대로 동작을 하니까 문제죠.

    > 자세히 설명된책을 보지 못했는데

    > GetCommandLine함수에서 리턴되는 값이

    > 어느책에 보니까 이렇게 실행되는파일은 ""로 묶여있고 나머지는 파라메타라고

    > 하더군요.

    > 이말이 사실이라면 델파이 ParamStr함수가 문제가 있는것이 겠지요.

    • 한창희
      2000.06.17 11:47
      이일형 wrote: > PDOXUSRS.LCK이 걸리는 이유가 뭔지를 알고 싶어요. 똑같은 작업을 두명이 동시에 접속해...
    • 손창호
    • 2000.06.17 01:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.06.17 02:21
      안녕하세여.. 타락임다..^^ 흠.. 전화국은 TImage를 쓰는게 좋지 않을까여? 클릭과 마우스가 들어오고 ...
    • 최용일
      2000.06.17 09:02
      안녕하세요. 최용일입니다. 핸들을 폼으로 찾지마시고 Application으로 찾으세요. var AHandle: H...
    • 초보자
      2000.06.17 02:42
      허기영 wrote: > 안녕하심미까? 허기영이라고 함다.... 작업도중에 막히는 부분이 있어서 > 고수님들의 ...
    • 최은석
    • 2000.06.16 23:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.06.17 10:57
      안녕하세요. 최용일입니다. 혹시 Dmitry V. Bolshakov의 TDBGridEh말씀하시는 것입니까? 맞다면 http...
    • 최석기
      2000.06.17 00:18
      최 소 영 wrote: > 정수형만 입력가능한 어떤 콤포넌트가 있습니다. > 그 콤포넌트의 값을 설정해줄려면 ...
    • 최 소 영
      2000.06.17 02:01
      최석기 wrote: > 최 소 영 wrote: > > 정수형만 입력가능한 어떤 콤포넌트가 있습니다. > > 그 콤포넌트...
    • 최석기
      2000.06.17 02:04
      최 소 영 wrote: > 최석기 wrote: > > 최 소 영 wrote: > > > 정수형만 입력가능한 어떤 콤포넌트가 있...
    • 최 소 영
      2000.06.17 02:16
      최석기 wrote: > > > 어.. 제가 해보구서 올린거였는데.. > > 전 잘 돌아갔는데.. 이상하네.. > ...
    • siro
    • 2000.06.16 23:40
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 까마귀
      2000.06.17 02:56
      돌아버려 wrote: > 함수 선언 부분에 특이한것이 있더군요. > > ex) kwak := ^TResource; > > 위에...
    • 최석기
      2000.06.16 22:20
      blueofsky wrote: > 안녕하세요... > > stringgrid를 공부하고 있는데, dbgrid처럼 특정셀의 크기를 ...
    • 델초보
    • 2000.06.16 21:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • hugehead
      2000.07.15 07:04
      안녕하세요, 몇가지 짚어보죠. 일단 지금 코드에서 실행하는 SQL문은 insert 문이니까 결과값이 없습니...
    • 타락천사
      2000.06.17 02:47
      안녕하세여.. 타락임다..^^;;; 우선 포문 루프를 두번만 도네여.. 일부러 그렇게 한거가여? 담에, AD...
    • bohemian
    • 2000.06.16 20:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.06.16 22:26
      bohemian wrote: > Active Form을 만들고, 웹브라우저로 볼때 > 웹브라우저의 스크롤바를 사용해서 안보...
    • 강정한
      2000.06.19 18:31
      최석기 wrote: > bohemian wrote: > > Active Form을 만들고, 웹브라우저로 볼때 > > 웹브라우저의 스크...
    • 이종완
    • 2000.06.16 20:48
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.06.16 22:15
      안녕하세여. 타락임다..ㅠㅠ 파라미터는 어떻게 받았져? 버그 난다던 Win95는 이상없는 시스템 인가...
    • 이종완
      2000.06.16 22:31
      타락천사 wrote: > 안녕하세여. 타락임다..ㅠㅠ > > 파라미터는 어떻게 받았져? > > 버그 난다던 Wi...
    • 최용일
      2000.06.16 21:11
      안녕하세요. 최용일입니다. 전체 파라매터가 "c:tempaaa.exe"abcdefg 델파이에 ParamStr함수가 있습니...
    • 이종완
      2000.06.16 22:09
      최용일 wrote: > 안녕하세요. 최용일입니다. > > 전체 파라매터가 "c:tempaaa.exe"abcdefg 컴퓨터에 ...
    • 최용일
      2000.06.17 09:10
      안녕하세요. 최용일입니다. 근데요. 문제가 있는 컴에서 "winword"test.doc도 잘 동작하나요? 잘 동...
    • azure
    • 2000.06.16 20:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.06.16 20:36
      안녕하세요. 최용일입니다. 둘 다 같습니다. 여러 유닛에 같은 이름의 서브루틴이 있을 때와 같이 이름...
    • 김남우
    • 2000.06.16 20:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.06.16 20:32
      안녕하세요. 최용일입니다. Delay함수는 없어요. 예전 도스용 파스칼에 있었던 함수로 델파이에서는 지...
    • 이종호
    • 2000.06.16 19:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.06.16 20:33
      이종호 wrote: > 저는 델파이3하고 ms_sql을 사용하는데요 > 간단한 폼을 하나만들어서 테스트를하는데...