|
생성자에 하시지 마시고 ...
FormShow Event후에 ... 하시면 됩니다 ...
물론 아래글을 보니 버튼 클릭 이벤트에 하시면 된다고 했는데 ..
그 이유는 생성자에서 StringGrid는 생성이 완료되지 않은 상태인데 ..
접근(사용)할려고 하니 에러가 나는 것입니다..
Builder 님이 쓰신 글 :
: VC++ 에서 만든 DLL 을 만들어서 써보려고 하는데요.
: 테스트용으로 행렬의 행렬식을 계산하는 함수를 만들어서
: DLL로 불러들여서 실행시켜 보았는데,
: 실행시키자 마자 자꾸 종료가 되네요.
:
: DLL 에 문제가 있는 줄 알았는데,
: ShowMessage 함수를 이용해서 DLL에서 읽어들인 함수가 제대로 작동하는지 확인을 해 보니,
: 작동은 하네요.
:
: 제가 코딩한 내용은 다음과 같습니다.
:
: ***************************************************************************************
:
: __fastcall TForm1::TForm1(TComponent* Owner)
: : TForm(Owner)
: {
: double et[]={4,0,1,-2};
:
: double (_stdcall* Determinant)(double * array);
: HINSTANCE hinst;
: hinst=LoadLibrary("testDLL.dll");
:
: Determinant = (double (_stdcall*)(double * array))GetProcAddress(hinst, "Determinant");
:
: StringGrid1->Cells[0][0]=Determinant(et); // 답 => -8
:
: ShowMessage( FloatToStr(Determinant(et)) ); // Message는 "-8"이라고 뜸.
: FreeLibrary(hinst);
: }
:
: ***************************************************************************************
:
: 왜 실행을 시키면 "-8"이란 메세지만 떴다가
: 프로그램이 종료가 되는 건지...
: 문제가 뭘까요?
:
: 지금 몇 시간 째 낑낑대고 있는데...
: 좀 가르쳐 주세요.... T.T
|