FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#2
|
||||
|
||||
Cita:
¿Piensas que con "wizards" lo puedo hacer? // Gracias |
#3
|
||||
|
||||
¡¡¡la esperanza nunca se pierde!!!
La verdad que no tengo nada de tiempo como para darle una miradita al tema... Por otro lado, te recomiendo particular precaución con el tema de las propiedades con default, ahora en un momento te describo un problema que me sucede a menudo. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. Última edición por delphi.com.ar fecha: 12-02-2004 a las 18:08:05. |
#4
|
||||
|
||||
Cita:
¡Caramba!, necesito el código para hoy, ¿no puedes cancelar algunos compromisos? [/modalidad] Preguntaba lo de los wizards sólo para evitarme el clavado en dicha área en caso de no tener nada que ver con éso. Cita:
// Gracias |
#5
|
||||
|
||||
Bueno... No te emociones, no es la solución, es el problema que sucede con los default y la herencia visual, uso de frames...:
Si tengo un formulario (Form1) con un TPanel sobre este con la propiedad Anchor = [akLeft, akTop, akRight, akBottom] (diferente al defaul), y creo un formulario heredado de este (Form2) donde cambio el valor de la propiedad Anchor a [akLeft, akTop] (el default), resulta que el TWriter no guardará el valor en el Form2 porque el default de esta propiedad es igual al valor, pero a la hora de cargarlo, como no está guardada esta propiedad, traerá el valor default de su clase heredada (TForm1), donde Anchor = [akLeft, akTop, akRight, akBottom]. Lo que esta MAL! Hagan la prueba, siguiendo los siguientes pasos:
Bueno, si tu form tiene un ancho fijo, y haces herencia visual de este ancho............... ¿Entiendes a donde voy? Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#6
|
||||
|
||||
Disculpa la tardanza en contestar pero tuve que salir.
Creo entender lo que dices. Sin embargo la herencia visual es algo distinta. Supongo que el problema que describes se debe a que el IDE en sí no tiene noción del cambio de valores por defecto ya que Form1 no está registrado. Uno esperaría que si hacemos: Código:
TForm1 = class(TForm) published property Anchors default [akLeft,akRight, akTop, akBottom]; end; Será cosa de seguir investigando. // Saludos |
#7
|
||||
|
||||
Pues me tiré el clavado. A ver si no es demasiada vuelta.
Tuve que hacer un Wizard y un Creator: Código:
type TAppBarCreator = class( TInterfacedObject, IOTACreator, IOTAModuleCreator ) { De IOTAModuleCreator } procedure FormCreated(const FormEditor: IOTAFormEditor); end; TAppBarWizard = class( TNotifierObject, IOTAWizard, IOTARepositoryWizard, IOTAFormWizard ) { De IOTAWizard } procedure Execute; end; procedure Register; implementation { Este método lo llama el IDE en cuanto se crea el formulario } procedure TAppBarCreator.FormCreated(const FormEditor: TFormEditor) var NTAComponent: INTAComponent; Component: TComponent; begin // Obtenemos una referencia al formulario recién creado if Supports(FormEditor.GetRootComponent, INTAComponent, NTAComponent) then begin Component := NTAComponent.GetComponent; if Component is TAppBarForm then // y le asignamos el valor deseado a la propiedad TAppBarForm(Component).Height := 55; end; end; { Aquí le pasamos al IDE el Creator del formulario } procedure TAppBarWizard.Execute; var Services: IOTAModuleServices; begin Supports(BorlandIDEServices, IOTAModuleServices, Services); Services.CreateModule(TAppBarCreator.Create); end; { Registramos el Wizard y el formulario } procedure Register; begin RegisterPackageWizard(TAppBarWizard.Create); RegisterCustomModule(TAppBarForm, TCustomModule); end; end.
Quedan cosas en el tintero ya que entiendo poco de las ToolsApi y aún quiero ver si puedo evitarme la vuelta al Wizard (aunque vino bien aprender cómo se hace). Además al agregar el formulario nuevo aparece como TAppBarForm2 en lugar de TAppBarForm1, es decir, que sigue la numeración del formulario principal de la aplicación. // Saludos |
|
|
|