Board logo

Subject: 脚本专家的一个问题 [Print This Page]

Author: freespace8    Time: 2008-7-16 14:34     Subject: 脚本专家的一个问题



[Copy to clipboard]
CODE:
program test;

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ScriptEvent;

var
  FormEvent: TCnScriptFormEditorNotify;
begin
  if Event = nil then
  begin
    OutputDebugString('Event = nil');
    Exit;
  end;
  case Event.Mode of
    smManual: OutputDebugString('smManual');
    smIDELoaded: OutputDebugString('smIDELoaded');
    smFileNotify: OutputDebugString('smFileNotify');
    smBeforeCompile: OutputDebugString('smBeforeCompile');
    smAfterCompile: OutputDebugString('smAfterCompile');
    smSourceEditorNotify: OutputDebugString('smSourceEditorNotify');
    smFormEditorNotify: OutputDebugString('smFormEditorNotify');
  end;
end.

勾上 smBeforeCompile, smAfterCompile

debugview输出内容为:

[2736] smFileNotify
[2736] smBeforeCompile

为什么没有编译后事件触发,用的是0.8.4.415 每日构建版
Author: freespace8    Time: 2008-7-16 14:36

而且 filenotify 没有打钩,但是有输出。
Author: zjy    Time: 2008-7-16 15:49     Subject: 多谢报告!

这确实是脚本专家的一个Bug,原因是脚本中注册的TCnScriptMode枚举值顺序与代码中定义的不一致,导致常量对应错。下一个Build版将修正。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0