标签: jedi-code-library

需要一种方法来定期记录调用的所有方法/过程/函数的调用堆栈/堆栈跟踪

我正在开发一个非常大的应用程序,我会定期将ENTIRE调用堆栈记录到当前执行点(不是例外).这里的想法是,我想要一张确切的代码路径的地图,这使我成为我的观点.我一直在使用madExcept,使用jclDebug,虽然我可以获得一些调用堆栈,但我似乎无法获得在应用程序中进行的每个方法/过程/函数调用以显示在日志中.

我在项目中启用了堆栈帧,调试信息等.我甚至尝试在没有包含在调用堆栈中的各个方法上打开堆栈帧无济于事.

我正在努力做甚么可能吗?我真的试图避免在数百万行代码中添加日志代码以便记录代码路径.

delphi callstack stack-trace madexcept jedi-code-library

13
推荐指数
4
解决办法
7599
查看次数

JEDI JCL压缩库不会打开跨区存档文件

摘要:

我无法让JCL压缩库打开任何跨区档案.它出现了borlands'windows.pas'中定义的错误"(0000001)错误函数";

scenerios:

使用JCL压缩示例压缩的单个存档.
- 将在JCL示例和7zip gui中解压缩.

使用JCL压缩示例压缩的7个文件的跨区存档.
- 只能在7zip gui中解压缩.无法使用JCL示例解压缩.

使用7zip gui压缩的单个存档.
- 将在JCL示例和7zip gui中解压缩.

使用7zip gui压缩超过7个文件的跨区存档.
- 只能在7zip gui中解压缩.无法使用JCL解压缩

额外的信息

JCL压缩演示是JCL库中包含的演示.
JCL:2.2.1.3970
7zip dll:9.20.0.0和9.65.0.0
跨区存档集中的示例文件名:"Test Archive.7z.002"
尝试使用.tar和.7z压缩使用
不同的文件大小.2048字节和2048KB
Delphi 2009.

这是我正在使用的代码.它来自JCL压缩演示.行'TJclDecompressArchive(FArchive).ListFiles'出错.

procedure TFormMain.ActionOpenROExecute(Sender: TObject);
var
  ArchiveFileName, Password: string;
  AFormat: TJclDecompressArchiveClass;
  SplitArchive: Boolean;
begin
  if OpenDialogArchiveRO.Execute then
  begin
    CloseArchive;

ArchiveFileName := OpenDialogArchiveRO.FileName;
SplitArchive := AnsiSameText(ExtractFileExt(ArchiveFileName), '.001');
if SplitArchive then
  ArchiveFileName := ChangeFileExt(ArchiveFileName, '');

AFormat := GetArchiveFormats.FindDecompressFormat(ArchiveFileName);

if AFormat <> nil then
begin
  if SplitArchive then
    ArchiveFileName := ArchiveFileName + …
Run Code Online (Sandbox Code Playgroud)

compression delphi jedi jedi-code-library

11
推荐指数
1
解决办法
1987
查看次数

为什么要使用JCL UNITVERSIONING?

JCL库具有条件定义UNITVERSIONING.我不知道为什么这个选项存在,不知道如何使用它.我知道有一个叫做JclUnitVersioning.pas的单位,但找不到用处.

在真正的单词项目中何处使用它?

delphi jedi-code-library

8
推荐指数
1
解决办法
638
查看次数

Delphi JCL 7zCompression可以在没有文件操作的情况下压缩/解压缩内存流吗?

我之前使用过TJcl7zCompressArchive/TJcl7zDecompressArchive进行存档操作.

现在我想直接压缩/解压缩内存流而无需文件操作.但是,当看到在网上搜索JCL演示的示例时,我找不到使用该lib的方法.我确实找到了其他工具,但压缩比似乎不如7zip.

任何人都可以提供一些指示或示例代码,说明如何实现这一目标 非常感谢!

delphi 7zip jedi-code-library

8
推荐指数
1
解决办法
3672
查看次数

JCL安装到Delphi 10 Seattle时出错

我正在尝试将JCL/JVCL安装到Delphi-10-Seattle中

我收到以下错误:

使用Embarcadero RAD Studio 10西雅图Embarcadero Delphi for Win32编译器版本30.0 ... E:\ Delphi-10\Jedi\jcl\source\common\JclSysUtils.pas(3034)错误:E2010不兼容类型:'TJclWaitResult'和'TWaitResult'

JclInstall.pas(2264)致命:F2063无法编译使用过的单位'JclSysUtils.pas'

'JclSysUtils.pas'中的第3034行是:

if (ProcessEvent.WaitForever = {$IFDEF RTL280_UP}TJclWaitResult.{$ENDIF RTL280_UP}wrSignaled) and not GetExitCodeProcess(ProcessEvent.Handle, Result) then Result := $FFFFFFFF;
Run Code Online (Sandbox Code Playgroud)

我试图在Jedi邮件列表中发帖,但多年来一直没有触及过.

我在哪里可以得到修复?

delphi jedi jedi-code-library delphi-10-seattle

7
推荐指数
1
解决办法
3006
查看次数

如何在不使用引发异常的情况下使用JCL记录callstack

背景

我们遇到一个问题,有时Devexpress中的网格会引发异常"引发的EConvertError:无法为TFont分配nil".

但是为了追踪这个的真正原因,我们已经将cxEdit中的Font更改为公共属性,而不是使用get和set方法.在这里,我想记录callstack.

我的问题

通常,JCL用于在出现异常时记录callstack.但是,如何在不使用raise异常的情况下记录callstack并为用户显示关于此的对话框?

我找到了这些台词:

var
  GlobalStackList: TJclGlobalStackList;
Run Code Online (Sandbox Code Playgroud)

在JclDebug但我没有使用它.如果有人有一个例子如何获得callstack我会很高兴.

关心Roland Bengtsson

delphi callstack jedi-code-library

5
推荐指数
1
解决办法
3518
查看次数

安装JVCL时出错

我已通过Install.bat 安装JCL并成功安装.但是,当我尝试通过install.bat 安装JVCL时,我收到如下错误消息:

[Compiling installer...]
Using Embarcadero RAD Studio XE

Embarcadero Delphi for Win32 compiler version 22.0
Copyright (c) 1983,2010 Embarcadero Technologies, Inc.
C:\Program Files (x86)\Embarcadero\Components\JVCL347CompleteJCL241-Build4571\jv
cl\devtools\PackagesGenerator\GenerateDefines.pFatal: F1026 File not found: 'Sys
tem.Types.dcu'

Failed to compile JVCL installer

Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

谁知道这里有什么问题?

提前致谢.

delphi jvcl delphi-xe jedi-code-library

5
推荐指数
1
解决办法
2763
查看次数

由于jcl要求,jcvl无法正常工作

我正在尝试手动安装JCLjvcldelphi xe2.

我按照指示安装了JCL,似乎安装没有问题.现在我尝试加载JVCL包16,它打开delphi并开始加载libarys,当它到达Jedi代码库MPL1.1时,我开始得到如下错误

Error reading form frmJucolorProviderDesigner
-class tjvcontextprovider not found

Ingnore Cancel Ingnore all
Run Code Online (Sandbox Code Playgroud)

这不是唯一一个我会得到一些不好的帖子,如果它有帮助的话

Error reading form JvStandardActions
 -tjvSendMailAction not found
 -tjvwebaction not found
Error reading form jvCheckItemsEditor
 -tjvCheckListBox not found
Error reading form JvControlActoinsDM
 -tjvControlcollapseAction not found
 -TjvControlexpandAction not found
 -TjvControlExportAction not found
 -tjvControlOptimizeColumnsAction not found
 -TjvControlCustomizeColumnsAction not found
 -TjvControlPrintAction not found
Error reading form jvSpeedBarEditorMain
 -jvFormStorage not found
 -AppRegistryStorage not found
Run Code Online (Sandbox Code Playgroud)

等......如果你需要,我可以加上休息.

但每个 - 都是自己的对话框,[忽略] [取消] [忽略全部]

现在,在我按下忽略50次后,它将最终加载项目,当我尝试为JVCl包构建所有项目时,它说找不到所需的包jcl.

在库路径我有

..jcl\source\common
..jcl\source\windows
..jcl\source\include …
Run Code Online (Sandbox Code Playgroud)

delphi jvcl jedi-code-library delphi-xe2

5
推荐指数
1
解决办法
1621
查看次数

是否有建议的路径为Delphi XE5安装JEDI和JVCL?

我看到JCL和JVCL现在在GitHub中,我之前使用内置安装程序在XE3下安装了它们.我还使用了Embarcadero页面上发布的XE4'special' .

有人设法让JCL和JVCL与XE5合作吗?

delphi jvcl jedi-code-library delphi-xe5

5
推荐指数
1
解决办法
5790
查看次数

delphi - 在目录中查看文件更改 - 在JCL中实现?

我需要以某种方式通知我的应用程序,只要给定目录中的任何文件已被更改(其内容已被修改)...是否有任何JCL/JVCL例程?

提前致谢 ...

delphi hook file jedi-code-library

4
推荐指数
1
解决办法
647
查看次数