안녕하세요 커피향기입니다. 올만에 올리는 질문이네여^^
다름이 아니라 밑에 코딩을 보면 아시겠지만 filename을 추출해서
Winexec를 써서리 포트란으로 짠 프로그램하구 연동시키는 건데여
결과는 나오는데 계속 에러가 나네여.....
에러문장
'Access violation at address 202E6161. Read of address 202E6161'
에구 정말루 모르겠습니다. 왜 이런 에러가 나오는 건지 ㅡ.ㅡ;;
고수님들 꼭좀 갈켜 주세여.........
procedure TForm1.Button3Click(Sender: TObject);
var
b : String;
k : PChar;
addr : string;
j : integer;
re : string;
begin
if OpenDialog1.Execute then
edit39.text := ExtractFileName(OpenDialog1.FileName);
addr := edit39.text;
j := length(edit39.text);
e := copy( addr, 1, j-3);
re := trim(re); // 혹시 모를 공백...땜시
b := 'c:kepcotpbig disk' + ' ' + re + ' ' + re + ' ' + '-r';
StrPCopy(k, b);
WinExec(k,1);
end;
PChar로 선언되 k에 대해 메모리 할당이 안된 것 같습니다.
> StrPCopy(k, b);
> WinExec(k,1);
위 두 문장을
WinExec(PChar(b),1);
로 바꿔보세요.
커피향기.. wrote:
> 안녕하세요 커피향기입니다. 올만에 올리는 질문이네여^^
> 다름이 아니라 밑에 코딩을 보면 아시겠지만 filename을 추출해서
> Winexec를 써서리 포트란으로 짠 프로그램하구 연동시키는 건데여
> 결과는 나오는데 계속 에러가 나네여.....
> 에러문장
>
> 'Access violation at address 202E6161. Read of address 202E6161'
>
> 에구 정말루 모르겠습니다. 왜 이런 에러가 나오는 건지 ㅡ.ㅡ;;
> 고수님들 꼭좀 갈켜 주세여.........
>
> procedure TForm1.Button3Click(Sender: TObject);
> var
> b : String;
> k : PChar;
> addr : string;
> j : integer;
> re : string;
>
> begin
> if OpenDialog1.Execute then
> edit39.text := ExtractFileName(OpenDialog1.FileName);
> addr := edit39.text;
> j := length(edit39.text);
> e := copy( addr, 1, j-3);
> re := trim(re); // 혹시 모를 공백...땜시
> b := 'c:kepcotpbig disk' + ' ' + re + ' ' + re + ' ' + '-r';
> StrPCopy(k, b);
> WinExec(k,1);
> end;
>