Hello,
How is VFI working in lazarus SVN ? Any documentation ?
I have a problem converting forms from delphi. A base form is:
type
TInstantEditForm = class(TForm)
SubjectExposer: TInstantExposer;
SubjectSource: TDataSource;
EditPanel: TPanel;
BottomPanel: TPanel;
ButtonPanel: TPanel;
OkButton: TButton;
CancelButton: TButton;
procedure CancelButtonClick(Sender: TObject);
procedure OkButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
function GetSubject: TObject;
procedure SetSubject(const Value: TObject);
protected
procedure LoadData; virtual;
procedure SaveData; virtual;
procedure SubjectChanged; virtual;
public
property Subject: TObject read GetSubject write SetSubject;
end;
the inherited form just adds a lot of components to base form.
Now when I try to import such Delphi forms both looks exactly the same
as a base one in other words : all controls from inherited form is lost.
What can I do to fix it ?
Here is the inherited form declaration (quite big so I placed it at the
end of this email) :
TInstantAttributeEditorForm = class(TInstantEditForm)
AccessSheet: TTabSheet;
DefinitionSheet: TTabSheet;
DisplayWidthEdit: TDBEdit;
DisplayWidthLabel: TLabel;
EditMaskEdit: TDBEdit;
EdtMaskLabel: TLabel;
MethodAddCheckBox: TCheckBox;
MethodClearCheckBox: TCheckBox;
MethodDeleteCheckBox: TCheckBox;
MethodIndexOfCheckBox: TCheckBox;
MethodInsertCheckBox: TCheckBox;
MethodRemoveCheckBox: TCheckBox;
MethodsGroupBox: TGroupBox;
NameEdit: TDBEdit;
NameLabel: TLabel;
ObjectClassEdit: TDBComboBox;
ObjectClassLabel: TLabel;
OptionDefaultCheckBox: TCheckBox;
OptionIndexedCheckBox: TCheckBox;
OptionReadOnlyCheckBox: TCheckBox;
OptionRequiredCheckBox: TCheckBox;
OptionsGroupBox: TGroupBox;
PageControl: TPageControl;
PresentationSheet: TTabSheet;
SingularNameEdit: TDBEdit;
SingularNameLabel: TLabel;
SizeEdit: TDBEdit;
SizeLabel: TLabel;
StorageNameEdit: TDBEdit;
StorageNameLabel: TLabel;
TypeEdit: TDBComboBox;
TypeLabel: TLabel;
ValidCharsEdit: TDBEdit;
ValidCharsLabel: TLabel;
VisibilityEdit: TDBComboBox;
VisibilityLabel: TLabel;
DefaultValueLabel: TLabel;
DefaultValueEdit: TDBEdit;
ExternalStorageNameEdit: TDBEdit;
ExternalStorageNameLabel: TLabel;
StorageKindEdit: TDBComboBox;
StorageKindLabel: TLabel;
AutoExternalStorageNameCheckBox: TCheckBox;
procedure NameEditKeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure NameEditChange(Sender: TObject);
procedure NumericFieldGetText(Sender: TField; var Text: string;
Display: Boolean);
procedure ObjectClassEditChange(Sender: TObject);
procedure ObjectClassEditEnter(Sender: TObject);
procedure OkButtonClick(Sender: TObject);
procedure SubjectExposerInitField(Sender: TObject; Field: TField);
procedure SubjectExposerTranslate(Sender: TObject; Field: TField;
var Value: Variant; Write: Boolean);
procedure TypeEditClick(Sender: TObject);
procedure StorageKindEditChange(Sender: TObject);
procedure ExternalStorageNameEditChange(Sender: TObject);
procedure AutoExternalStorageNameCheckBoxClick(Sender: TObject);
procedure StorageNameEditChange(Sender: TObject);
private
FBaseClassStorageName: string;
FLimited: Boolean;
FMMUninitializedNewAttribute: Boolean;
FModel: TInstantCodeModel;
FOnIsClassPersistent: TInstantBooleanEvent;
FOnLoadClasses: TInstantStringsEvent;
FValidator: TInstantAttributeValidator;
function GetSubject: TInstantCodeAttribute;
procedure SetSubject(const Value: TInstantCodeAttribute);
procedure SetLimited(Value: Boolean);
procedure SetModel(const Value: TInstantCodeModel);
procedure SetValidator(const Value: TInstantAttributeValidator);
protected
procedure LoadClasses;
procedure LoadData; override;
procedure LoadEnums(TypeInfo: PTypeInfo; Items: TStrings;
Values: Pointer);
procedure LoadTypes;
procedure LoadVisibilities;
procedure LoadStorageKind;
procedure PopulateClasses;
procedure SaveData; override;
procedure SubjectChanged; override;
procedure UpdateControls;
procedure ComputeExternalStorageName;
function IsClassPersistent(const AClassName: String): Boolean;
public
property BaseClassStorageName: string read FBaseClassStorageName write
FBaseClassStorageName;
property Limited: Boolean read FLimited write SetLimited;
property Model: TInstantCodeModel read FModel write SetModel;
property OnIsClassPersistent: TInstantBooleanEvent read
FOnIsClassPersistent
write FOnIsClassPersistent;
property OnLoadClasses: TInstantStringsEvent read FOnLoadClasses
write FOnLoadClasses;
property Subject: TInstantCodeAttribute read GetSubject write
SetSubject;
property Validator: TInstantAttributeValidator read FValidator
write SetValidator;
end;
Regards
Boguslaw
_______________________________________________
Lazarus mailing list
[email protected]
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus