![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Sobre lo segundo, las unidades que tengo definidas las creé utilizando proyectos en CLX, por lo que se utilizan librerías "Q" Ahora, deseo utilizar las mismas funciones, pero con un proyecto VCL, por lo que no quisiera tener duplicadas las librerías, ya que cualquier cambio en una debería reflejarla en las demás. Según la ayuda del delphi, los "$define" que se declaran en un módulo, son locales al módulo, pero he comprobado que éste código es global al proyecto: Entonces, lo que se me escapa, es como definir una variable global al proyecto, para hacer que utilice unas librerías u otras. Esto no funciona (y creo que debería funcionar) dá el siguiente error (aproximadamente, porque ahora estoy en el curro y no tengo la aplicación): Incompatible types 'TForm.Form' and 'Tform.QForm' Gracias salvica |
|
#2
|
||||
|
||||
|
Hola,
Muy posiblemente me equivoque. Yo tomé la idea/ejemplo de algunas librerías de los componentes SynEdit. Aunque se utilizan unidades "Q" y se discriman estas y "las otras" en las cláusulas "uses" también se hace lo propio cuando se llega el caso de utilizar un determinado procedimiento o función o clase que se encuentra en sendas unidades, esto es, en las "Q" y "las otras". Me da a mí que precisamente por eso obtienes el error que mencionas últimamente. En definitiva, una cosa es la discriminación de unidades y otra cosa la discriminación de otras cosas, valga la redundancia. Es decir, que puede que, efectivamente, dichas directivas no sean "globales", precisamente, porque no puedan serlo, porque el compilador no sea lo suficientemente inteligente o porque no sea posible, directamente. Hablo sin saber mucho; me disculpo si lo que digo no es del todo correcto: buena intención sí que lleva. ![]() Última edición por dec fecha: 03-10-2005 a las 15:52:16. Razón: Corrección del texto. |
|
#3
|
||||
|
||||
|
Bueno, pues parece que se resolvió (nunca una tontería pudo dar mayores quebraderos de cabeza
En vez de buscar por no se qué (ya ni me acuerdo) cambié a buscar por $define y salió este tema http://www.clubdelphi.com/foros/show...highlight=DEMO con lo que parece que la cosa era tan tonta como 1º - ir a project / Options 2º - seleccionar la pestaña Directories / Conditionals 3º - en Conditional defines escribir VCL y pulsar OK a partir de aquí se puede utilizar en todas las unidades
y menos mal que tenía un Delphi a mano, más tarde intentaré ver si con un CLX la cosa funciona igual. Saludos salvica |
|
#4
|
||||
|
||||
|
Hola,
Pues es el caso que conocía ese dato y, sin embargo, no se me ocurrió... En fin, me alegro de que te fuera bien. Si alguna vez preciso de algo así espero acordarme (no sé si lo anoto aquí para tenerlo más presente llegado el caso). ![]() |
|
#5
|
||||
|
||||
|
Por cierto, hecha la prueba, con un proyecto CLX también funciona
![]() La única diferencia que observo, es que con el form que uso de contenedor para la función anterior crearFecha_PHP() en CLX tengo que hacer un "casting" mientras que en los VCL no es necesario Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|