안녕하세요?
저는 델파이에 입문한지 얼마되지 않은 델초인데요..
다름이 아니라 제가 델파이 책을 보다가 API함수에 대해서 공부하게 됐는데...
아래와 같이 코딩을 하고 실행을 시켰는데 에러가 나거든요...
왜그런지 모르겠는데 좀 갈켜주세요...
procedure TForm1.Button1Click(Sender: TObject);
var
JUN:array[0..28] of char;
begin
StrPCopy(JUN, FileListBox1.FileName);
WinExec(JUN, SW_SHOWNORMAL); //API함수 WinExec로 파일을 실행한다.
end;
"Access violation at address 5CBABCFD. Read of address 5CBABCFD...."이런 에러가
나는데 뭣이 문제인지...??
이제야 API함수에 대해 공부하던 중이라 잘 모르니까 자세히 갈켜주세용....
var
JUN:array[0..28] of char;
위의 JUN이 FileListBox1.FileName을 담기에 충분한 크기가 되지않은것 같군요.
FileListBox1.FileName의 크기가 28자 이하일 때만 이 에러가 안나죠. 그러니까
JUN이란 변수에 충분한 크기를 할당해 주세요. 255자 정도면 충분할것입니다.
var
JUN:array[0..MAX_PATH] of char; // MAX_PATH = 260
궁금녀 wrote:
> 안녕하세요?
>
> 저는 델파이에 입문한지 얼마되지 않은 델초인데요..
>
> 다름이 아니라 제가 델파이 책을 보다가 API함수에 대해서 공부하게 됐는데...
>
> 아래와 같이 코딩을 하고 실행을 시켰는데 에러가 나거든요...
>
> 왜그런지 모르겠는데 좀 갈켜주세요...
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> JUN:array[0..28] of char;
> begin
> StrPCopy(JUN, FileListBox1.FileName);
> WinExec(JUN, SW_SHOWNORMAL); //API함수 WinExec로 파일을 실행한다.
> end;
>
> "Access violation at address 5CBABCFD. Read of address 5CBABCFD...."이런 에러가
>
> 나는데 뭣이 문제인지...??
>
> 이제야 API함수에 대해 공부하던 중이라 잘 모르니까 자세히 갈켜주세용....