是否可以将String to var???????????????

解决方案 »

  1.   

    procedure OpenChildForm(FormClass: TFormClass; var Fm; AOwner:TComponent);能否将var Fm 换成 Fm:string 如何写???????
    或 String to var 在传入
      

  2.   

    uses Unit2;procedure TForm1.OpenForm(FormName: string);
    var
      Component: TComponent;
    begin
      Component := Application.FindComponent(FormName);
      if (Component is TForm) and (Component.Name = FormName) then
        TForm(Component).Show;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      OpenForm('Form2');
    end;不要忘记引用要开打窗体的单元
      

  3.   


    procedure OpenChildForm(FormClass: TFormClass; var Fm; AOwner:TComponent);
    begin
      Application.CreateForm(FormClass,TForm(Fm));
    end;能否将var Fm 换成 Fm:string 如何写???????
    或 String to var 在传入
      

  4.   

    想要
    procedure OpenChildForm(FormClass: TFormClass;  Fm:string  ; AOwner:TComponent);
    begin
      Application.CreateForm(FormClass,TForm(Fm));
    end;TForm(Fm)一定要
      

  5.   

    var :引用传递;
    in  :传入(值传递);
    out :引用传递(只传出);
      

  6.   

    to  wolf2005() yes
      

  7.   

    var
      s: string;
      t: Variant;
    begin
      s := 'aaa';
      t := Variant(s);   //这里就是String to Variant
      ShowMessage(VarToStr(t));
    end;
      

  8.   

    个人意见:你把他定义成一个函数,然后通过函数的传参来改变他的类型
    千万别用variant类型,太慢了,不信你可以试试
      

  9.   

    function GetClass(const ClassName: string): TPersistentClass可以使用TForm(GetClass(fm))试试看
      

  10.   

    procedure OpenChildForm(FormClass: TFormClass; objCreateForm:string; AOwner:TComponent);
    begin
      Application.CreateForm(FormClass,TForm(objCreateForm));
      TForm(objCreateForm).ShowModal;
      FreeAndNil(TForm(objCreateForm));
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      OpenChildForm(TForm2,'Form2',nil);
    end;
      

  11.   

    function TFormConsole.SetChildForm(ParentControl: TWinControl; var ChildForm: TForm; ChildClass: string): boolean;
    var
      FormClass: TFormClass;
    begin
      if not Assigned(ChildForm) then
      begin
        FormClass := TFormClass(GetClass(ChildClass));
        if Assigned(FormClass) then
          ChildForm := FormClass.Create(Application);
        ChildForm.BorderStyle := bsNone;
        ParentControl.Height := ChildForm.ClientHeight - 25;
      end;
      ChildForm.BorderStyle := bsNone;
      ChildForm.Parent := ParentControl;
      ChildForm.Align := alClient;
      ChildForm.Visible := true;
      Result := true;
    end;
    調用
      SetChildForm(Panel1, TForm(_FormMenu), 'T_FormMenu');在_FormMenu的最後加上
    initialization
      RegisterClass(T_FormMenu);
    finalization
      UnRegisterClass(T_FormMenu);大概就是如此, 你可自己修改