Estructuras de parametros en delphi
Buenas gente
Mi idea es la siguiente; quiero hacer una estructura de parametros, que incluya variables, procedimientos, funciones etc... Pero por mucho que busco y pruebo cosas no consigo dar con la solucion. He intentado hacerlo un record, pero no se muy bien donde declararlo y no consigo que me funcione. Esta es mi idea por si no me he explicado con claridad:
Alguna ayuda?? Saludos y gracias de antemano. |
¿Y porque no lo haces con clases?
Una opinión, vamos:
|
Cita:
Porque no sabia que eran xD. Lo de record lo puse porque era lo unico que encontre por internet. He probado el codigo y va de lujo, pero habría alguna manera para poder acceder directamente sin tener que declarar en cada procedimiento la variable opciones, asignarle la clase y crearla? |
Vale, ya lo he conseguido :D
Muchas gracias por la ayuda! |
Sólo una cosa más.
No dejes de leer "La cara oculta de Delphi 4", del Maestro Marteens. Aunque es antiguo, los primeros capítulos son un compendio de lo que son las clases, propiedades, métodos, clases abstractas, métodos de clase... Altamente recomendable Saludos |
Descargado!
|
Miento, no he conseguido que funcione... Si que me funcionan los procedimientos cuando los llamo, pero las variables parece como si no me las iniciara...
Este es el codigo:
Y cuando intento acceder a una variable me salta este error en el programa: First chance exception at $005E1272. Exception class $C0000005 with message 'access violation at 0x005e1272: write of address 0x00000004'. Process Test.exe (4500) Como podria solventar esto? :S |
Hola jularaXD.
Si creaste una instancia de TOptions, acceder a un atributo de la misma no tendría por que elevar una excepción. El error no está en el código visible en tu mensaje. Aunque existen múltiples motivos que provocan la excepción "Access violation", el mas común es que se intenta usar un recurso no creado o liberar uno que ya fué liberado. Asegurate de que todas las clases estén instanciadas antes de usarlas y verifica la existencia antes de liberarlas. Es buena idea poner el puntero a nil cuando liberas el objeto (vg. FreeAndNil) , de ese modo podrías comprobar lo anterior usando la función Assigned. En cuanto al mensaje "First chance exception" nunca lo había visto, pero mirando un poco en la web pareciera que podría deberse a la configuración del depurador: What is a First Chance Exception? Y como siempre, sería de mucha ayuda ver las líneas donde se produce el error. Usar un breakpoint al inicio del código donde se estima que se produce el error y luego realizar Trace Into (F7) para ubicarlo. Saludos :) |
No vero donde está la línea
Si no se crea primero el objeto de la clase, siempre tendrás un Access Violation. ¡Lee el libro! :) Saludos |
jularaXD,
Cita:
El código anterior implementa y utiliza el objeto TMathNum para realizar operaciones aritméticas de dos números reales y mostrar su resultado. Nota: El tipo object permite instanciar objetos sin usar el método Create y es muy util para implementaciones de tipos abstractos simples, para desarrollos formales orientados a objetos se debe usar el tipo Class. Espero sea útil :) Nelson. |
La franja horaria es GMT +2. Ahora son las 16:59:35. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi