发现Delphi 2006的Open Tools API的bug比较严重阿 正在将以前自己写的for 2005和7版本的IDE专家移植到Delphi 2006,发现OTA的问题很多啊,看来得等update2来修正了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不一定是Bug吧,Delphi的Open Tools API几乎每个版本都有一些变化,有些版本更是根本性的改变。Borland自己对于OTA是这样说的,“对于OTA我们不会给出官方Specification,而仅仅给出与某个版本相关的帮助,目的是为了保证我们对于OTA有进行变更的余地,而不会将OTA的规范‘确定下来’。这样做可以更好的适应新的集成开发环境的变化需要。” to Scarlette(Lord of Borland) 您好, 我现在遇到两个问题, 您能否帮我看看,问题1. 我现在的Code Completion的快捷键已经绑定到alt+space, 用以下方法绑定: BindingServices.AddKeyBinding([ShortCut(VK_SPACE, [ssAlt])],CodeCompletion, Pointer(csCodeList or csManual));现在我在IDE中新建一个application代码如下:unit Unit3;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm3 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form3: TForm3;implementation{$R *.dfm}procedure TFor|end.这里'|'是我光标所在的位置,当我用alt+space 激活Code Completion窗口后,回车一下,本来正常的话,应该是TForm3|,但是奇怪的是代码变成了如下:unit Unit3;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm3 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form3: TForm3;implementation{$R *.dfm}procedure TForm3;begin ~~~~~~~~end;end.奇怪吧?我想也有可能是IDE的bug。 问题2: 我用 (OTAEditorServices.TopView as IOTAEditActions).CodeCompletion(csCodelist or csManual);来调用 code completion窗口的时候,在失败的时候(由于当前代码环境无法调用出来),发现每次调用,IDE中编辑器的反应速度特别特别慢,简直到了无法输入的地步,这在Delphi 7和Delphi2005中都没有达到那么慢的速度,不知能有什么方法提高速度?我这么做的主要目的是想在我的专家中实现自动invoke IDE自身的Code Completion,类似于CnPack中的代码输入助手的功能。我甚至试了把调用Code Completion的代码放在IDE的OnIdle中做,但是还是同样的很慢很慢,不知为何原因。谢谢! 这不是bug呀,这应该是增强。你可以自己修改代码完成的模板。 to DelphiGuy() 这个是bug啊,不是代码模板,这个时候Code Completion窗口中只有一条"type TForm3", 所以回车后,应该只是完成"TForm3"才对,没想到还给我来个分号,再加回车,再加begin..end; 那个"type TForm3"只是Code Completion的一个标题名而已,它的实际内容可能很多。你看看那个classc完成的代码段有多长。你应该查看一下你的"type TForm3"的完成内容,这是你自己添加的吧。 没有, 这个不是我自己添加的, 它的内容应该不会是 TForm3;begin |end;因为这样编译一定通不过的 CCTV新闻频道直播"深度撞击" 我在做考勤系统,我想找合适的有关日程安排的控件 如何读取"字符映射表"中的信息? 请教ado的connetion问题? 怎么决绝我的打包的问题? 请问如何取得应用程序的上一级目录 以前有位老大写过一个Tline.zip可以在窗体任意两点画箭头并获得焦点的? 怎样用IdHTTP进行POST操作? 关于zip的知识。 pws4.0哪有下载啊 怎么设置PADONX 的口令? c++中结构体转换到delphi中怎么做!
您好, 我现在遇到两个问题, 您能否帮我看看,
问题1. 我现在的Code Completion的快捷键已经绑定到alt+space, 用以下方法绑定:
BindingServices.AddKeyBinding([ShortCut(VK_SPACE, [ssAlt])],
CodeCompletion, Pointer(csCodeList or csManual));现在我在IDE中新建一个application
代码如下:unit Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm3 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation{$R *.dfm}procedure TFor|end.这里'|'是我光标所在的位置,当我用alt+space 激活Code Completion窗口后,
回车一下,本来正常的话,应该是TForm3|,但是奇怪的是代码变成了如下:unit Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm3 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation{$R *.dfm}procedure TForm3;
begin ~~~~~~~~end;end.奇怪吧?我想也有可能是IDE的bug。
我用 (OTAEditorServices.TopView as IOTAEditActions).CodeCompletion(csCodelist
or csManual);来调用 code completion窗口的时候,在失败的时候(由于当前代码环境无法调用出来),发现每次调用,IDE中编辑器的反应速度特别特别慢,简直到了无法输入的地步,
这在Delphi 7和Delphi2005中都没有达到那么慢的速度,不知能有什么方法提高速度?
我这么做的主要目的是想在我的专家中实现自动invoke IDE自身的Code Completion,
类似于CnPack中的代码输入助手的功能。我甚至试了把调用Code Completion的代码
放在IDE的OnIdle中做,但是还是同样的很慢很慢,不知为何原因。谢谢!
你可以自己修改代码完成的模板。
这个是bug啊,不是代码模板,这个时候Code Completion窗口中只有一条
"type TForm3", 所以回车后,应该只是完成"TForm3"才对,没想到还给我
来个分号,再加回车,再加begin..end;
它的实际内容可能很多。
你看看那个classc完成的代码段有多长。
你应该查看一下你的"type TForm3"的完成内容,这是你自己添加的吧。
TForm3;
begin
|
end;因为这样编译一定通不过的