안녕하십니까
이제 갓 프로그래머로서의 때를 입히고 있는 사람입니다.
빌더는 이번에 회사에 입사하면서 보게 된것이 처음이구요.
프로그램의 기초는 c,c++,c#의 소스의 기본정도만 잡혀있는 상태입니다.^^
그나마 가장 많이 본게 C#이구요.
다름이 아니라 현재 회사 내에서 프로젝트로 진행중인 소스 중에 추가할려고 하는데
c#과 달라서 적용을 못하고 있는데요.c#에선 되는 방식이 빌더에서는 안되니 참 답답하네요.
회사내에서도 지금 빌더를 고정적으로 한사람이 없다보니 배울수도 없는 입장이고
물어볼 사람은 타회사 사람인데 답변을 쉽게 안해주니 물어보기도 힘드네요 -_-;
사설이 너무 긴듯 ..
/* global.h */
#define SSC_API __stdcall
#define GLOBAL extern
extern "C" { //흠 이건 머지 ;
GLOBAL int SSC_API sscHomeReturnStart(int device, int channel, int axnum); <----------1.함수도 아니고 이 부분의 의미가 무언인가요..
}
/* TControlsMotor.h */
#include "global.h"
class TControlsMotor
{
public:
__fastcall TControlsMotor();
virtual __fastcall ~TControlsMotor();
bool __fastcall AxisHomming(int nAxis);
private:
int m_nUID;
short m_nBoardID;
int m_nDevice;
int m_nChannel;
}
/* TControlsMotor.cpp */
#include "TControlsMotor.h"
__fastcall TControlsMotor::TControlsMotor() // 생성자
{
m_nBoardID = 0;
m_nChannel = 1;
m_nDevice = 0;
}
__fastcall TControlsMotor::~TControlsMotor() //소멸자
{
}
bool __fastcall TControlsMotor::AxisHomming(int nAxis)
{
bool bRet = false;
if(sscHomeReturnStart(m_nDevice, m_nChannel, nAxis) == 0) bRet = true;
return bRet;
}
.
/* test.h */
#include "TControlsMotor.h" -->>제가 추가한 부분
classTFormTest : public TForm
{
__published:
//버튼등등등
//생략
void __fastcall Panel6Click(TObject *Sender);
private :
public:
__fastcall Test(TComponent* Owner); <-----2.생성자 맞나요?
}
extern PACKAGE TFormTest *FormTest;
/* test.cpp */
TClsRobots * ClsRobot;-->>제가 추가한 부분
#include "test.h"
TFormTest *FormTest; <------3.객체 생성? 선언? 보기에는 생성 같습니다만;
__fastcall TFormTest::TFormTest(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TFormTest::Panel6Click(TObject *Sender)
{
//4.이 부분에 TControlsMotor::AxisHomming(int nAxis) 요놈을 불러서 쓰고있습니다.
ClsRobot->AxisHomming(1); -->>제가 추가한부분.
}
이러한 소스가 있고 폼 test 라는곳에서 파란색 부분을 정의하고 선언한다음
사용하니깐 링크되고 사용이 다되는데.문제는 test 라는 폼에서 실행을 하고 버튼 클릭후. 변수값들을 보니
제가 던진 숫자 1을 받아서 실행 하던데 m_nDevice, m_nChannel 요 변수들이 초기화가 안되어있고 쓰레기 값이 들어가있더군요.
고참에게 물어보니 생성이 아니라 /* TControlsMotor.cpp */ 를 참조 하는 방식으로 생성하게끔 바꾸라는데.
C#에서는 이해 하겠는데 빌더로 변환을 못하겠네요 .. 도움 부탁드립니다.
소스가 부족하여 이해 가 안되시거나 제가 잘못 잘라 온부분이 있다면 리플해주시면 연결된곳을 올려드리겠습니다
|