107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167:
| { ... } Const FormDfmSource = 'object %s: T%0:s'#13#10'end'; myClassName = 'TOVCLForm'; myClassParent = 'TOVCLForm'; myClassText = ''; myClassState = 'alpha'; myInterfaceUses = 'Windows, Messages, SysUtils, Classes, Controls, Forms, Graphics, OVCLForm'; myImplementationUses = 'ODbgInterface'; DFMInclude: Boolean = True;
Procedure TOVCLFormExpert.Execute; Var UnitIdent, FileName: String; FormName: String; CodeStream: TStreamAdapter; DFMStream: TStreamAdapter; DFMString: TStringStream; DFMVCLStream: TMemoryStream; Begin If ToolServices.GetProjectName = '' then Begin MessageDlg('Es muss ein Projekt geöffnet sein, um ein neues Omorphia-Formular erzeugen zu können.', mtError, [mbOk], 0); Exit; end;
If Not ToolServices.GetNewModuleName(UnitIdent, FileName) Then Exit;
FormName := Copy(myClassName, 2, Length(myClassName)) + Copy(UnitIdent, 5, 255); CodeStream := TStreamAdapter.Create(TStringStream.Create(MakeUnit(UnitIdent, FormName, myClassState, myClassParent, myInterfaceUses, myImplementationUses, myClassText, DFMInclude)));
DFMString := TStringStream.Create(Format(FormDfmSource, [FormName])); DFMString.Position := 0; DFMStream := TStreamAdapter.Create(DFMString); Try ToolServices.CreateModuleEx(FileName, FormName, myClassName, '', CodeStream, DFMStream, [cmAddToProject, cmShowSource, cmShowForm, cmUnnamed, cmMarkModified]); Except DFMStream.Free; End; End; |