EurekaLog的使用问题。(100)

  • 主题发起人 主题发起人 delhpi
  • 开始时间 开始时间
D

delhpi

Unregistered / Unconfirmed
GUEST, unregistred user!
EurekaLog 组件已经在D2007正确安装,按照动画介绍的例子,也能正常捕捉到异常和内存泄漏。但是,当我打开正式的项目时,激活EurekaLog,选中捕捉内存泄漏,运行程序,关闭,却无法捕捉到异常,只是有“咚”的一声,屏幕一闪。如果把项目源文件中的 ReportMemoryLeaksOnShutdown := true;开启则运行软件后,关闭时,有错误提示,说明有内存泄漏。
 
又发现源码中的一个小错误。那个组件安装后 能正常编译。但是,如果随便编辑一下,然后编译,IDE会提示错误。const Dots: TCharSet = [' ', '!', '?', '%', '-', '(', ')', '[', ']', '{', '}', '?, '?];主要是这个集合最后的项目有问题。 '?, '?];这样肯定不符合语法,不知道应该修改为怎么样?看样子,'?'前面已经有了,不知道作者本来想的是什么。function GetTextHeight(Dlg, Font: THandle; const Text: AnsiString; TextWidth: Integer): Integer;const Dots: TCharSet = [' ', '!', '?', '%', '-', '(', ')', '[', ']', '{', '}', '?, '?];var Size: TSize; DC: HDC; n, i, j: Integer; List, Words: TStringList; Width: Integer;begin Result := 0; Dec(TextWidth, 6); // Decreases of the control borders size. List := TStringList.Create; Words := TStringList.Create; DC := GetDC(Dlg); SelectObject(DC, Font); try List.Text := Text; for n := 0 to (List.Count - 1) do begin if (List[n] = '') then List[n] := ' '; Words.Clear; ExtractList(List[n], Words, Dots, False, True); Width := 0; for i := 0 to (Words.Count - 1) do begin // Get the current work sizes (width/height). GetTextExtentPoint32(DC, PChar(Words), Length(Words), Size); if (Width = 0) then Inc(Result, Size.cy); Inc(Width, Size.cx); for j := 1 to (Width div TextWidth) do begin Inc(Result, Size.cy); Width := Size.cx; end; end; end; finally ReleaseDC(Dlg, DC); Words.Free; List.Free; end;end;
 
你打开文件的编码不对,这个不是问号!
 
难道那个地方 是什么特殊字符?按照道理,英文的所有字符,delphi都能显示啊。根据前面的 那些字符,也就是一些常见的字符。如果是中文字符,在英文系统下也许显示不正常。但是,现在是 英文在中文系统下显示啊。
 
delphi2007(含2007版本)以下版本 都不能正确识别unicode字符[:D]
 
楼上的意思 那个的地方 有个特殊字符? Dots: TCharSet = [' ', '!', '?', '%', '-', '(', ')', '[', ']', '{', '}', '?, '?];从前面的几个字符看,都是键盘上能直接输入的。
 
接受答案了.
 
后退
顶部