728x90
안녕하세요
로로봉입니다 : )
델파이에서 C++ 이나 C# 으로 만든 DLL을 사용할 때 타입 변환을 어떻게 해야할지 난감할 때가 많습니다.
델파이에서 외부 DLL을 정의하는 방법은 아래와 같습니다.
Const
DLL_Name = 'Test.dll';
function DLLFunctionName(hHandle: THandle): Boolean; stdcall; external DLL_Name;
THandle이나 Boolean 등 매개변수와 반환 타입은 아래 표를 참고해서 변환 해주면 됩니다.
C/C++ Type | ObjectPascal Type |
unsigned short [int] | Word |
[signed] short [int] | SmallInt |
unsigned [int] | Cardinal { 3.25 fix } |
[signed] int | Integer |
UINT | LongInt { or Cardinal } |
WORD | Word |
DWORD | LongInt { or Cardinal } |
unsigned long | LongInt { or Cardinal } |
unsigned long int | LongInt { or Cardinal } |
[signed] long | LongInt |
[signed] long int | LongInt |
char | Char |
signed char | ShortInt |
unsigned char | Byte |
char* | PChar |
LPSTR or PSTR | PChar |
LPWSTR or PWSTR | PWideChar { 3.12 fix } |
void* | Pointer |
BOOL | Bool |
float | Single |
double | Double |
long double | Extended |
HANDLE | THandle |
FARPROC | TFarProc |
ATOM | TAtom |
TPOINT | TPoint |
TRECT | TRect |
COLORREF | TColorRef |
OFSTRUCT | TOFStruct |
DEBUGHOOKINFO | TDebugHookInfo |
BITMAP | TBitMap |
RGBTRIPLE | TRGBTriple |
RGBQUAD | TRGBQuad |
BITMAPCOREHEADER | TBitmapCoreHeader |
BITMAPINFOHEADER | TBitmapInfoHeader |
BITMAPINFO | TBitmapInfo |
BITMAPCOREINFO | TBitmapCoreInfo |
BITMAPFILEHEADER | TBitmapFileHeader |
HANDLETABLE | THandleTable |
METARECORD | TMetaRecord |
METAHEADER | TMetaHeader |
METAFILEPICT | TMetaFilePict |
TEXTMETRIC | TTextMetric |
NEWTEXTMETRIC | TNewTextMetric |
LOGBRUSH | TLogBrush |
LOGPEN | TLogPen |
PATTERN | TPattern { TLogBrush } |
PALETTEENTRY | TPaletteEntry |
LOGPALETTE | TLogPalette |
LOGFONT | TLogFont |
ENUMLOGFONT | TEnumLogFont |
PANOSE | TPanose |
KERNINGPAIR | TKerningPair |
OUTLINETEXTMETRIC | TOutlineTextMetric |
FIXED | TFixed |
MAT2 | TMat2 |
GLYPHMETRICS | TGlyphMetrics |
POINTFX | TPointFX |
TTPOLYCURVE | TTTPolyCurve |
TTPOLYGONHEADER | TPolygonHeader |
ABC | TABC |
RASTERIZER_STATUS | TRasterizer_Status |
MOUSEHOOKSTRUCT | TMouseHookStruct |
CBTACTIVATESTRUCT | TCBTActivateStruct |
HARDWAREHOOKSTRUCT | THardwareHookStruct |
EVENTMSG | TEventMsg |
WNDCLASS | TWndClass |
MSG | TMsg |
MINMAXINFO | TMinMaxInfo |
SEGINFO | TSegInfo |
ACCEL | TAccel |
PAINTSTRUCT | TPaintStruct |
CREATESTRUCT | TCreateStruct |
CBT_CREATEWND | TCBT_CreateWnd |
MEASUREITEMSTRUCT | TMeasureItemStruct |
DRAWITEMSTRUCT | TDrawItemStruct |
DELETEITEMSTRUCT | TDeleteItemStruct |
COMPAREITEMSTRUCT | TCompareItemStruct |
WINDOWPOS | TWindowPos |
WINDOWPLACEMENT | TWindowPlacement |
NCCALCSIZE_PARAMS | TNCCalcSize_Params |
SIZE | TSize |
MENUITEMTEMPLATEHEADER | TMenuItemTemplateHeader |
MENUITEMTEMPLATE | TMenuItemTemplate |
DCB | TDCB |
COMSTAT | TComStat |
MDICREATESTRUCT | TMDICreateStruct |
CLIENTCREATESTRUCT | TClientCreateStruct |
MULTIKEYHELP | TMultiKeyHelp |
HELPWININFO | THelpWinInfo |
CTLSTYLE | TCtlStyle |
CTLtype | TCtltype |
CTLINFO | TCtlInfo |
DDEADVISE | TDDEAdvise |
DDEDATA | TDDEData |
DDEPOKE | TDDEPoke |
DDEAACK | TDDEAck |
DEVMODE | TDevMode |
KANJISTRUCT | TKanjiStruct |
공감 ♥ + 구독부탁드립니다 : )
728x90
반응형
'개발 정보 > 델파이' 카테고리의 다른 글
[Delphi] gitHub ZXing 소스 파일 LF, CRLF 오류 시 처리 방법 (1) | 2024.04.19 |
---|---|
[Delphi] 안드로이드 인텐트 필터를 포함하되 'android:exported' 속성을 설정하지 않고 업로드 오류 해결 (0) | 2022.12.30 |
[Delphi] 델파이 FTP 서버 이미지 전송 (14) | 2022.04.20 |
[Delphi] 안드로이드 Documents 폴더 파일 리스트 확인 방법 (0) | 2022.03.22 |
[Delphi] 델파이 안드로이드 구글스토어 배포 빌드 방법 (8) | 2021.08.04 |
댓글