ActiveForm 的到哪里去了?——By CJ(50分)

  • 主题发起人 主题发起人 CJ
  • 开始时间 开始时间
C

CJ

Unregistered / Unconfirmed
GUEST, unregistred user!


利用向导建立一个 ActiveForm,其 Name 为 ActiveForm1,
执行以下代码出错,说没有此方法:
ActiveForm1.Button1.Caption := '';
而执行以下代码没有问题:
Button1.Caption := '';
我知道可以省略,但如果是一个工程中的两个 ActiveForm
通讯呢?我明白那题“如何 Show 另一个 ActiveForm”的真正
含义了。
以前,我用 Dr. yysun 的方法建立 ActiveForm,Show 的
都是 TForm 的子类。可用户说这“不像”B/S:-(
 
这里的ActiveForm中的属性Name已经不再是一个变量的名字了, 现在根本就没有一个ActiveForm1变量, 所以编译不通过



 
HI pegasus, 你来我就放心了,问题多数能搞定的:-)
你是对的,我查看过所有自动生成的代码,没有一句类似:Var
ActiveForm1:TActiveForm
的东西!问题是,如何做类似的操作,特别是操作其它ACTIVEXFORM的属性呢?
多谢关照
 
//Xixi, 我是个光说不练的Delphi Fan呀!

按照我的理解, 一个ActiveForm应该是一个ActiveControl的主体,在网页会同
别的ActiveForm划江而治,各管各的。如果真的要和别的ActiveForm通讯的话,
我认为比较“好看”的方法是通过网页做中介:产生一个事件(用工程管理器打
开TLB文件,给IActiveFormXEvents增加一个新的Method),网页接收到之后
直接调用另一个ActiveForm的方法,不知这种方法如何?

?刚才网络出了一点问题,这个回复用了半个多小时才发出来。
 
再次感谢,那么ACTIVE FORM和网页/SCRIPT如何通讯呢?呵呵,问题比较烂
抱歉。我另一个ACTIVEXFORM的问题你看了吗?那个放到非技术问题去了:(
 
>>那么ACTIVE FORM和网页/SCRIPT如何通讯呢?呵呵,问题比较烂
hehe, 在IActiveFormXEvents中增加了一个Method, 假定名字为:OnNotifyY;
然后在网页上面的Script里面响应ActiveForm的事件OnNitifyY就行了,如果用
InterDev,在控件上面右击鼠标,就可以看到OnNotifyY事件,自己写的话直接在
Script部分添上一个ActiveForm1_OnNotify的Sub就行了。要生成这个事件, 在
TActiveFormX的方法里面调用FEvents.OnNotifyY;

咦?我这拷贝(没有安装)的Delphi不能Deploy我的ActiveForm嘛!

另一个问题?让我找找。。。

 
我基本明白了,但是,真无法访问另一个吗?
如果我要访问另一个程序里填写的内容(比如一个OPTION窗体)只能通过HTML
传递吗?

最好有个 HELLO WORLD 的例子,谢谢。
 
我想应该能够访问别的ActiveForm,问题是如果两个ActiveForm在程序内部连接
这么紧密的话,是否考虑应该本来就做在一起?

如果它们在功能上是相对独立的话,网页就相当于一个管道,把这些独立的功能
模块组合起来。

目前我能想到的方法就是首先用GetParent的方法得到浏览器窗口,然后用EnumChildWindow的方法可以得到浏览器的所有子窗口,找到所要求的控件
对应的窗口之后,再次用EnumChildWindow,找到所要的输入窗口,然后就能
GetWindowText了。 但是这样的程序实在太依赖于那个控件了,所以我说是
“不好看"的方法.

我现在也急得很呢,没有办法Deployment,看来要赶快下载一个Delphi的安
装盘来正式安装一下,拷贝来的运行版本总有些不对头
 
right here waiting
 
用sharememory 和 message
activeforms 不是可以随便通信吗?
 
刚才做了一个例子,让两个ActiveForm在script的牵线搭桥之下互相通讯
我现在的方法更简单了:一个Form产生一个事件,参数为自己的窗口标题
和指针,另一个Form设置一个property,用于记住第一个Form 的指针,现
在不知道哪里有错误,在IE5下面就是不能生成事件,跟踪调试的时候发
现是因为FEvents为空,所以不能产生事件,但是在Test container里面却
是好的,所有的事件都能产生出来。不知道是不是浏览器的安全设置问题
明天(唉,是今天白天)再仔细检查一下吧!
 
恩,实在感谢,分先给你,
 
后退
顶部