Scripter Studio 对象识别问题~ ( 积分: 100 )

  • 主题发起人 主题发起人 AHLKJ
  • 开始时间 开始时间
A

AHLKJ

Unregistered / Unconfirmed
GUEST, unregistred user!
Scripter Studio 2.5 版本.

程序代码:
//ComboBox1 已经在窗体中建立,已引入 ap_Classes, ap_StdCtrls 单元
//ComboBox1 为 Delphi VCL TComboBox
atPascalScripter1.AddComponent(ComboBox1);

脚本代码:
//执行错误,错误信息:Unknown member identifier:'Count'.Source posiion 1,....
ShowMessage(ComboBox1.Items.Count);

//执行错误,错误信息:Invalid array indexing for property 'Items'. Expected 0 dimensions. Source position 1,...
ShowMessage(ComboBox1.Items[0]);

请问如何让 atPascalScripter 正确的识别到这些属性?
 
自己顶!

貌似他们官方网站上提供的一个 Demo 程序也有这个问题。
官方演示程序可以正常运行
ShowMessage(ComboBox1.Items.Count);
同样无法执行
ShowMessage(ComboBox1.Items[0]);

难道 Scripter Studio 不支持这样深度对象识别?

官方网站地址:
http://www.tmssoftware.com/scriptstudio.htm

使用 EXE Greatis IDE Form Designer Demo 在窗体上拉出 TComboBox 控件测试结果如上。
 
你没有仔细看文档.ShowMessage(ComboBox1.Items[0]);
-->ITEMS是个LINES 应该 Combobox1.items.strings
 
谢谢楼上的回答,使用 Combobox1.items.strings 一样不行,和使用 ComboBox1.Items.Count 的错误信息是一样的。

错误信息:Unknown member identifier:'strings'.Source posiion 1,....
 
你注册Classes,就是引用了ap_Classes了吗?
 
atPascalScripter比TatPascalFormScripter应该少带了不少东西.
 
再次感谢 楼上的热心帮助,谢谢!

已经正确的注册了 Classes (通过枚举 atLibraryList 证明确实已经加载)。
atPascalScripter 和 TatPascalFormScripter 基本上没有没有什么差别。
我看了 atPascalFormScripter 的源代码,就是把自身窗体对象加入到 atPascalScripter 而已。
 
问题解决了,给官方发了封邮件。
老外很负责回答很到位,清楚的给出了答案。

for the first problem, you must add ap_Classes unit and it will work. How are you importing ap_Classes? You must use AddLibrary(TatClassesLibrary) or add "uses Classes" in your script. That should be enough.

About the second problem, scripter does not accept default properties, so you must use this:

ShowMessage(ComboBox1.Items.Strings[0]);

again, ap_Classes must be loaded.

哎,老外提供的说明文档资料不全面,文档中没有提到脚本中 AddLibary 和 use 的事情,也难免有点遗憾,不过问题最终得到解决。快乐中~~~~
 
感谢楼上的兄弟积极提出建议,分数如数奉上.谢谢!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
948
import
I
I
回复
0
查看
811
import
I
后退
顶部