Q&A

  • ShellExecute() 함수를 사용하는 방법에 대해 알려주세요!
안녕하세요

델파이 초보자 김종성 이라고 합니다.

다른게 아니고, 얼마전에 shellexecute함수에 대해서 설명하신 분이 있어 또다시 글을 올립니다.

이 함수는 특정프로그램을 로딩하는거죠...

그런데, 제가 이것을 써 보았는데 이상하게 에러가 나더군요...



procedure TForm1.N10Click(Sender: TObject);

begin

dir := "D:project2.exe"

shellexecute(handle, 'open',pchar(dir),'','',sw_shownormal);

end;



이렇게 코딩을 했는데 아래와 같은 메시지만 출력 되었습니다.

[Error] Unit1.pas(476): Undeclared identifier: 'dir'

[Error] Unit1.pas(476): Operator not applicable to this operand type

[Error] Unit1.pas(476): Illegal character in input file: '"' ($22)

[Error] Unit1.pas(477): Missing operator or semicolon

[Fatal Error] Project1.dpr(8): Could not compile used unit 'Unit1.pas'



어느 부분이 잘못되었는지 알수가 없습니다.

알고계신분은 알려주세요!



1  COMMENTS
  • Profile
    sunhee 1999.08.02 18:46
    선희덕이라고 합니다.



    우선 unit에 shellapi추가하셨나 보시고요.



    procedure TForm1.N10Click(Sender: TObject);

    var

    dir: string;

    begin

    dir := "D:project2.exe"

    shellexecute(handle, 'open',pchar(dir), nil, nil,sw_shownormal);

    end;



    김종성 께서 말씀하시기를...

    > 안녕하세요

    > 델파이 초보자 김종성 이라고 합니다.

    > 다른게 아니고, 얼마전에 shellexecute함수에 대해서 설명하신 분이 있어 또다시 글을 올립니다.

    > 이 함수는 특정프로그램을 로딩하는거죠...

    > 그런데, 제가 이것을 써 보았는데 이상하게 에러가 나더군요...

    >

    > procedure TForm1.N10Click(Sender: TObject);

    > begin

    > dir := "D:project2.exe"

    > shellexecute(handle, 'open',pchar(dir),'','',sw_shownormal);

    > end;

    >

    > 이렇게 코딩을 했는데 아래와 같은 메시지만 출력 되었습니다.

    > [Error] Unit1.pas(476): Undeclared identifier: 'dir'

    > [Error] Unit1.pas(476): Operator not applicable to this operand type

    > [Error] Unit1.pas(476): Illegal character in input file: '"' ($22)

    > [Error] Unit1.pas(477): Missing operator or semicolon

    > [Fatal Error] Project1.dpr(8): Could not compile used unit 'Unit1.pas'

    >

    > 어느 부분이 잘못되었는지 알수가 없습니다.

    > 알고계신분은 알려주세요!

    >