Hola.
Como no dispongo de ese componente solo puedo intentar ayudarte con alguna referencia al error y una prueba basada en la declaración que mencionas en tu mensaje. Ojalá te ayude para encontrar el origen del fallo.
Referencia al error :
E2321: Declaration does not specify a tag or an identifier.
Esta es la prueba que realicé en consola y que no me arroja ningún error:
File1.h:
Código PHP:
#ifndef FILE1_H
#define FILE1_H
#include <Classes.hpp> // tagSIZE
struct TSHDragImage;
typedef TSHDragImage *PSHDragImage;
#pragma pack(push, 1)
struct TSHDragImage
{
tagSIZE sizeDragImage;
TPoint ptOffset;
HBITMAP hbmpDragImage;
unsigned ColorRef;
};
#pragma pack(pop)
#endif // FILE1_H
Prueba:
Código PHP:
#include "File1.h"
int main(int argc, char* argv[])
{
PSHDragImage psh;
psh->sizeDragImage.cx = 300;
psh->sizeDragImage.cy = 200;
psh->ptOffset = (Point)(10,10);
psh->hbmpDragImage = NULL;
psh->ColorRef = GetSysColor(COLOR_ACTIVEBORDER);
return 0;
}
Pareciera entonces que el error que mencionas se estaría produciendo en otro lado.
Saludos