|
안녕하세요 스페로 입니다.
New Application 상태에서
유닛을 추가후
라모드님이 작성하신 소스를 새로운 추가된 유닛에 작성하여
Unit1에 서 사용할때
HWINDOW = new HWindow();
HWINDOW->Test();
위와 같이 일단 new를 하신후 하면 Accesss 바이얼레이션 에러가 나지 않습니다.
포인터만 가지고 잇을뿐 생성되지 않아서 입니다.
HWindow pH;
pH.Test(); 이렇게 해도 됩니다...
그럼^^
라모드 님이 쓰신 글 :
: 지금까지 모든 Unit.h/Unit/cpp 를 Form으로 열어서 사용하다 그냥 Unit으로만 열어서 사용했더니
: Header file의 Class에서 정의한 변수를 .cpp에서 사용할때 Access violation error가 발생합니다.
: 소스좀 보고 답변 부탁드립니다.
:
: Form1에서 Button을 누르면 다음의 소스(Test())가 실행하도록 하였습니다.
:
: <HEADER FILE>
: //---------------------------------------------------------------------------
: #ifndef hwndH
: #define hwndH
: //---------------------------------------------------------------------------
:
: class HWindow
: {
: private: // User declarations
: public: // User declarations
:
: int TYPE_32770;
: void __fastcall Test();
: };
: extern PACKAGE HWindow *HWINDOW;
: #end
:
: //---------------------------------------------------------------------------
: < Source file >
:
: #include <vcl.h>
: #pragma hdrstop
: #include "hwnd.h"
: #include "main_ui.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
:
: HWindow *HWINDOW;
:
: Void __fastcall HWindow::Test()
: {
: TYPE_32770=1;
: }
:
: 이런식 입니다. 도대체 어디서 문제가 생겼는지 모르겠네요.. 이거가지고 몇일 헤매고 있습니다. ㅠ.ㅠ
:
:
|