当前位置: 首页 > news >正文

关于OleVariant类型的疑问???

关于OleVariant类型的疑问??? VCL组件开发及应用
http://www.delphi2007.net/DelphiVCL/html/delphi_20061226151543105.html
我在remotedatamodule中创建了一个这样的过程(类似于策略模式中"上下文"类)  
  申明:  
  procedure   StrategyTrans(var   Stgy:   OleVariant);   safecall;  
  实现:  
  procedure   TSvQueueRDM.StrategyTrans(var   Stgy:   OleVariant);  
  begin  
          CxQuStgy   :=   Stgy.Create();//将具体的策略类对象传递给抽象类对象;  
  end;  
   
  其中,CxQuStgy为一基类抽象对象,而Stgy是我希望获得的基类的子类对象  
  但从另外一个地方传来的(var   Stgy:   OleVariant)参数是字符串类型的(这个字符串的内容是某个子类的类型名称).请问要怎样才能将Stgy字符串转换为类的对象?????????

怎么没有人来帮个忙哦

需要一数组对类进行维护,  
  arr:   array   of   TClass;  
  然后类加入到数组。  
  类似下面,或者生命数组常量  
      SetLength(arr,   Length(arr)   +   1);  
      arr[High(arr)]   :=   TClass1;  
      全部加入到数组  
   
   
  procedure   TSvQueueRDM.StrategyTrans(var   Stgy:   OleVariant);  
  begin  
      for   i:=0   to   high(arr)   do  
          if   arr[i].ClassNameIs(Stgy)   then  
          begin  
              CxQuStgy   :=   arr[i].Create;  
              break;  
          end;  
  end;  
   
 

相关文章:

  • 技术助力第三次革命
  • redis持久化之RDB
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • CAML语句 多条件and使用
  • 第二节 Windows Communication Foundation 基础概念
  • vista下sql2008不能在c盘建数据库
  • 编程的真实样子
  • 比特币亿万富翁出手拯救 OpenBSD
  • 弹出窗口生成器
  • VTK的学习资源
  • 时代亿信身份认证成功案例——武警森林部队SID安全身份认证及访问控制系统...
  • Vala 编程语言以及相关的开源软件
  • 求一个Turbo Delphi Pro版本的下载地址啊~
  • k个最大的数及变种小结
  • [Prism]Composite Application Guidance for WPF(9)——命令
  • [Vue CLI 3] 配置解析之 css.extract
  • Android Studio:GIT提交项目到远程仓库
  • create-react-app做的留言板
  • flask接收请求并推入栈
  • iOS | NSProxy
  • IOS评论框不贴底(ios12新bug)
  • Java面向对象及其三大特征
  • js 实现textarea输入字数提示
  • js正则,这点儿就够用了
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • 初探 Vue 生命周期和钩子函数
  • 关于extract.autodesk.io的一些说明
  • 回顾 Swift 多平台移植进度 #2
  • 两列自适应布局方案整理
  • 巧用 TypeScript (一)
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 如何学习JavaEE,项目又该如何做?
  • 收藏好这篇,别再只说“数据劫持”了
  • 通过git安装npm私有模块
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 整理一些计算机基础知识!
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # Panda3d 碰撞检测系统介绍
  • #define
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Forward) Music Player: From UI Proposal to Code
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (solr系列:一)使用tomcat部署solr服务
  • (ZT)一个美国文科博士的YardLife
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)springboot 智能停车场系统 毕业设计065415