自动化另一程序
每个服务器在系统注册中有一个叫ProgID的关键定主要用以控制器辨识服务器任何控制器可以用ProgID号来创建OLE对象实例例程AutoForm是控制器程序它在其主窗体创建了OLE对象实例
procedure TMainFormFormCreate(Sender : TObject)
begin
try
MemoEdit := CreateOleObject(MemoEditApplication)
except
MessageDlg(
An instance of the MemoEdit ApplicationOLE Automation Class could
not be createdMake sure that the MemoEdit application has been registered
using a MemoEdit|regservercommand line
mtError[mbok])
Halt;
end;
end;
控制器创建了OLE自动化对象实例后可对其进行操纵OLE自动对象包括属性和方法虽然OLE自动化对象与面向对象Pascal中的对象不是同一概念但Delphi允许使用与类似的语法对OLE对象的方法进行调用
AutoForm的很多过程引用了OLE自动化对象的方法
procedure TMainFormTileButtonClick(Sender : Tobject)
begin
MemoEditTileWindow;
end;
其中TileWindows是OLE对象TMemoApp中定义的方法
AutoForm还通过TMemoApp的NewMemo方法获得了对服务器内部OLE对象TMemoDoc 的引用
procedure TMainFormCreateButtonClick(Sender : TObject)
var
I : Integer;
begin
CloseMemo
for I := to do Memos[] := MemoEditNewMemo;
end;
其中NewMemo在MemoAuto单元中定义如下
function IMemoAppNewMemo : Variant;
begin
Result := MainFormCreateMemo( )OleObject;
end;
控制器在获得服务器的内部OLE对象后可以引用其方法
procedure TMainFormAddTextButtonClick(SenderTObject)
var
I : Integer;
begin
for I := to do
if not var IsEmpty(Memo[I]) then
Memo[I]Insert{This text was added through OLE Automation##)
end;
Insert是TMemoDoc中定义的方法用以在子窗体中插入字符串
返回目录DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
JEE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLEG数据库开发优化指南
Java程序性能优化让你的Java程序更快更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
[] [] [] []