STRING?DELPHI?procedure TForm1.Button1Click(Sender: TObject);
var
  a: TPersistentClass;
begin
   a := FindClass('TClassa');
   TClassa(a).Create;
end;

解决方案 »

  1.   

    先说明是哪种语言的,如果是JAVA的,利用反射可以做到,有兴趣可以详细给你描述
      

  2.   

    C#中也有和JAVA类似的反射机制。你在网上搜索一下“反射”试试吧,或者到C#论坛问一问,应该可以找到。
    我简单给你介绍一下JAVA的反射机制(C#向JAVA学习,所以也差不多)。JAVA 中类CLASS的forname方法输入参数为字符串,输入为一个Class类(JAVA中所有的类都继承自该类),你只需要在输入参数中以正确的格式给出你说的窗口类的名称和路径,编译器就可以反回这个类的一个实例
      

  3.   

    string FrmName="Form2";
    Form frm=new Form();
    frm.Name=FrmName;
    frm.Show();
      

  4.   

    string FrmName="Form2";
    Form frm=new Form();
    frm.Name=FrmName;
    frm.Show();
    -------------
    pass
      

  5.   

    反射例子:
    string strRootPath = Server.MapPath(".");
    string strDllPath = strRootPath + @"\" + @"bin\页面所在的DLL名称.dll";
    System.Reflection.Assembly pAssembly = Assembly.LoadFrom(strDllPath);System.Type pType = pAssembly.GetType("页面所在的命名空间.窗体类名");object pObj = System.Activator.CreateInstance(pType);pObj 就是你要的对象,转换后就可以用了
      

  6.   

    使用反射生成一个窗体:
    private void button1_Click(object sender, System.EventArgs e)
    {
    Assembly assm = Assembly.LoadFrom("e:\\WindowsApplication5.dll");
    Type TypeToLoad= assm.GetType("WindowsApplication5.Form1");

    object obj;
    obj = Activator.CreateInstance(TypeToLoad);
    Form formToShow = null;
    formToShow = (Form)obj;
    formToShow.Show();

    }
      

  7.   

    string FrmName="Form2";
    Assembly assm = Assembly.LoadFrom(Application.StartupPath+"\\WindowsApplication1.exe");
    Type TypeToLoad= assm.GetType("WindowsApplication1."+FrmName);
    object obj = Activator.CreateInstance(TypeToLoad);
    Form formToShow = (Form)obj;
    formToShow.Show();
      

  8.   

    感谢各位大虾的指教,但是有一点,我的窗体都已经加载到同一个项目中,用路径肯定是不行的。    mydragon(艾龙) ,谢谢你的回帖,但是,我问你,你对java很精通吗?但是,我对java不感兴趣,你要是还想继续谈谈你的java的话,那就随便你了。我先提醒你一下,这贴子已经转到C#技术论坛中,你自己多琢磨琢磨。拜托你不要再回帖,我见着烦着呢!谢谢您的合作。
    请各位大虾赐教了,我的窗体都已经加载到同一个项目中,不涉及用路径怎么做?谢谢。
      

  9.   

    用Visual C#动态生成组件,可能正是你需要的,你看看.http://www.jojoo.net/article/list.asp?id=5154