Q&A

  • C/C++의 구조체를 델파이에서 사용
=====아래의 질문은 하이텔의 VTOOL Q&A 란에 있는 질문인데 제경우와 같아 그대로

올립니다...



안녕하세요.

C/C++ 코드로 DLL을 작성하였습니다.

DLL의 해더와 내부 코드에는 여러 형태의 구조체를 사용하였습니다.

외부로 나가는 인지도 구조체지요.

따라서 C/C++로 작성되는 어플리케이션에서는 손쉽게

사용할 수 있는데, 델파이에서는 어떻게 변환해야 하는지

몰라서 여쭤봅니다.



물론 record와 포인터를 사용하면 된다는것을 압니다만..

몇가지 애로점이 있어서 그렇습니다.

예를 들어,

typedef struct _rect

{

double xmin;

double ymin;

double xmax;

double ymax;

} rect;



typedef struct _mbrs

{

int count;

rect* r;

int* index;

} mbrs;



이런식으로 되어 있는데, 위의 rect은 그나마 문제가 덜한데

아래의 mbrs라는 구조체는, rect*와 int*는 동적 배열로 쓸 겁니다.

즉 mbrs m;

m.r[0].xmin ... m.r[1].xmax ... 이런식으로 말입니다.

이렇게 사용할 경우 포인터로 사용해야 할건데,

seankim

델파이에서도 포인터 동적 배열로

선언해서 사용할 수 있는지 궁금합니다.

그리고 C/C++과 파스칼과의 언어적인 차이로 인해

구조체를 전달할때 메모리사이에 문제가 없는지 궁금하군요.

위의 질문은 Win32 API에서 정의되는 다양한 구조체들을

델파이에서 선언해서 사용할 수 있는지를 질문하는것과

비슷한것같네요.

부탁드립니다.





0  COMMENTS