2011-10-10 12 views
14

Necesito convertir un componente VCL de 32 bits a 64 bits (Delphi XE2). Ahora, de hecho, puedo instalarlo solo si selecciono "Plataforma de 32 bits", si selecciono "Plataforma de 64 bits" puedo compilarlo pero no instalarlo (no existe el menú de instalación). ¿Cómo puedo agregar soporte de 64 bits e instalarlo para la aplicación de 64 bits?¿Cómo agregar el soporte Delphi XE2 de 64 bits a un componente Delphi XE2 32bit VCL simple?

+1

Puede instalar una aplicación de 64 bits solo en una máquina de 64 bits. –

Respuesta

19

Si quiere decir "instálelo en el IDE", la respuesta simple es que no puede.

IDE es una aplicación de 32 bits y no está diseñada para alojar DLL de 64 bits. Cualquier componente o complemento debe compilarse para 32 bits para poder trabajar con el IDE mismo.

El soporte de 64 bits en un componente es solo para soporte de tiempo de ejecución, no en tiempo de diseño.

+3

+1 Ni siquiera había considerado este particular matiz con respecto a los paquetes. Supongo que es bastante improbable que alguna vez sienta la necesidad de ejecutar el código de tiempo de diseño por debajo de 64 bits. –

+0

No podría, dado que el IDE en sí mismo es de 32 bits, por lo que no puede ejecutar ningún código de 64 bits. La depuración del código de tiempo de ejecución de 64 bits, por otro lado, se realiza ejecutando el depurador remoto en una máquina de 64 bits y conectándose a ella con el IDE. –

+0

En resumen: para agregar un 64 bits a una VCL simple, puedo agregar una plataforma de 64 bits en el paquete; En cualquier caso, solo debo instalarlo como 32 bits porque el IDE es una aplicación de 32 bits, entonces veré la VCL en la paleta con soporte para 32 y 64 bits. Esto está bien, solo lo he probado para algunos VCL y funciona. Sin embargo, tengo una VCL con algún problema, después de agregar la plataforma de 64 bits y de instalarla sin problemas, veo que solo funciona en 32 bits (desde la paleta). ¿Hay alguna manera de entender por qué este componente no funciona en 64 bits? Para encontrar si hay un código incorrecto ... – Martin

Cuestiones relacionadas