환경 : Window XP & Delphi7.0 입니다
(win 98 & Delphi4.0 에서 사용하던것 입니다)
Xp환경에 delphi7.0에서 Dll을 호출하여 사용하니
error가 납니다
a.exe -> b.Dll -> c.Dll
a.exe에서 LibHandle := LoadLibrary('B.dll');
b.Dll에서 function C(var sMsg: TPchar):Boolean;
external 'C.dll';
처럼 되어 있습니다.
B.Dll 과 C.Dll에는
type
TPchar = array[0..256] of char;
var
sMsg : TPchar;
선언이 되어 있습니다
b.dll에서 c.dll을 호출시 access violation error 가 발생합니다
정답은 아니지만 힌트를 드리자면
델파이에서 DLL을 사용하는 방법이 두 가지가 있습니다.
LoadLibrary 처럼 동적으로 쓰는 방법과
델파이에서 Win32 API를 사용하는 방법처럼 정적으로 쓰는 방법이 있지요.
우선 정적인 방법으로만 DLL 사용을 통일해 보세요...