Ejemplo de código: ¿realmente conoces bien Delphi?
Procedimiento StepEditor( strgrid: TStringGrid; Paso: TStep );
var
sValue, sField: cadena;
EditorClass: TStepEditorClass;
Editor: TStepEditor;
comenzar
sField := strgrid.Cells[0, strgrid.Selection.Top];
sValue := strgrid.Cells[1, strgrid.Selection.Top];
EditorClass := EditorClassList.Editors[ sField ];
Editor := EditorClass.Create;
Editor.Campo := sField;
Editor.Paso := Paso;
Editor.Edit(sValue);
Editor.Gratis;
strgrid.Cells[ 1, strgrid.Selection.Top ] := sValue;
fin;
EditorClass es una clase de clase, es decir, una clase de clases
Por ejemplo
TFormClass = Clase de TForm;
Pero es diferente de: TFormClass = Class(TForm); ¡Estos son dos conceptos!
EditorClassList almacena una lista de clases;
Editor := EditorClass.Create;
Create es un método de clase, no un método de objeto, por lo que se puede crear una instancia de EditorClass desde EditorClass.
Reponer:
TStepEditor = Clase (TObjeto)
...
Fin;
TStepEditorClass = Clase de TStepEditor;
¿Por qué Object Inspector puede proporcionar un entorno de edición conveniente?
¿Por qué diferentes campos tienen diferentes valores de selección, diferentes métodos de verificación y cuadros de edición emergentes?
no lo mismo? Porque se registran diferentes editores de propiedades según diferentes tipos de campos;
La simplificación de la función de registro del editor de propiedades proporcionado por Delphi se puede describir de la siguiente manera:
RegisteryPropertyEditor( PropertyFieldType, EditorClass );
^Aquí está el nombre del tipo, como Bool, Integer, etc.
^Aquí está el nombre de clase del editor correspondiente. Tenga en cuenta que no es la descripción del carácter del nombre de la clase.
Cuando realmente se ejecuta, cuando el usuario hace clic en un campo en el Inspector de objetos,
Delphi busca internamente la clase de editor correspondiente al tipo de campo; luego crea una instancia de la clase a partir de la clase encontrada;
Realizar operaciones relacionadas (decidir si hay un cuadro desplegable, si hay un botón, etc.)
Más artículos