Tratando de "wrapear" la funci贸n
GetBinaryType me encuentro con el problema de no poder definir "un puntero a long o dword" para pasar una variable por referencia. Para strings existe y es la constante LPSTR.
Mirando los ficheros DLL.CH he encontrado las constantes para ello:
#ifndef _C_TYPES
聽 聽#define _C_TYPES
聽 聽#define VOID 聽 聽 聽0
聽 聽#define BYTE 聽 聽 聽1
聽 聽#define CHAR 聽 聽 聽2
聽 聽#define WORD 聽 聽 聽3
#ifdef __CLIPPER__
聽 聽#define _INT 聽 聽 聽4 // conflicts with Clipper Int()
#else
聽 聽#define _INT 聽 聽 聽7
#endif
聽 聽#define BOOL 聽 聽 聽5
聽 聽#define HDC 聽 聽 聽 6
聽 聽#define LONG 聽 聽 聽7
聽 聽#define STRING 聽 聽8
聽 聽#define LPSTR 聽 聽 9
聽 聽#define PTR 聽 聽 聽10
聽 聽#define _DOUBLE 聽11 // conflicts with BORDER DOUBLE
聽 聽#define DWORD 聽 聽12
聽 聽#define LONGLONG 13
#endif
Pero no existe ninguna constante de "puntero a long o dword".
En los "Windows Data Types"
https://msdn.microsoft.com/en-us/librar ... 51(v=vs.85).aspx est谩n todos los tipos de variables, pero no me pone su valor de constante. Supongo que ser谩 la constante LPLONG o LPDWORD.
La constante LPSTR la define as铆:
A pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.
Pero la funci贸n dice que tiene que ser LPCTSTR definida como:
An LPCWSTR if UNICODE is defined, an LPCSTR otherwise. For more information, see Windows Data Types for Strings.
En el ficheros DLL.CH tampoco tengo el valor de la constante LPCTSTR.
La definici贸n de la funci贸n es esta:
BOOL WINAPI GetBinaryType(
聽 _In_ 聽LPCTSTR lpApplicationName,
聽 _Out_ LPDWORD lpBinaryType
);
https://msdn.microsoft.com/en-us/library/aa364819(VS.85).aspx
El wrapeado es:
DLL32 FUNCTION GetBinaryType(cFile AS <no se que poner>, nType AS <no se que poner>) AS LONG PASCAL FROM "GetBinaryTypeW" LIB "Kernel32.dll"
聽Por otro lado la dll
Kernel32.dll dispone de dos funciones GetBinaryType: GetBinaryType
A (ANSI) y GetBinaryType
W (Unicode), y no se cual usar.
驴Se podr铆an tener todos los valores de los tipos de variables?
Mi abuelo dec铆a: Los aviones vuelan porque Dios quiere, y los helic贸pteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013