小编Jos*_*ons的帖子

使用异常进行调试:如何解决'抛出时中断'

我已经厌倦了清除Debugging-> Exceptions选项Break when thrown以通过我正确处理的异常,然后设置Break when thrown选项以找到未正确处理的后续异常的来源.

我想要一种方法来排除某些try块Break when thrown,例如预处理器指令或其他东西.我尝试录制一个宏,但它只是打开Debugging-> Exceptions对话框.

即使在较粗糙的颗粒上,指定哪些方法可以免于Break when thrown调试也是很好的.

这是个梦想吗?

debugging exception-handling visual-studio

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

如何在PL/SQL中打印ARRAY的每个元素?

这是一个非常基本的问题,但是这里有:

我在PL/SQL中有一个VARCHAR2字符串数组.

如何打印该数组中的每个元素?

arrays plsql

3
推荐指数
2
解决办法
1万
查看次数

如何使用dbExpress以SYSDBA身份连接到Oracle数据库?

我有一个连接到oracle数据库的Delphi应用程序.

当我尝试以SYSDBA身份登录时,出现错误:

ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
Run Code Online (Sandbox Code Playgroud)

当我尝试使用"SYS AS SYSDBA"用户登录时,出现错误:

ORA-01017: invalid username/password; logon denied
Run Code Online (Sandbox Code Playgroud)

如何使用dbExpress连接以sysdba身份登录?

另见有关ADO的相关帖子

delphi oracle dbexpress ora-01017

3
推荐指数
1
解决办法
2566
查看次数

如何使用VB6复制打开的文件?

我有一个遗留的VB6应用程序,它将文件附件上传到数据库BLOB字段.除非用户打开文件,否则它可以正常工作.

我尝试创建该文件的副本,然后上传该副本,但令我惊讶的是,每当您尝试复制用户打开的文件时,FileCopy过程都会收到"权限被拒绝"错误.

这让我很惊讶,因为您可以在Windows资源管理器打开时复制文件,我假设FileCopy方法使用与资源管理器相同的API调用.

无论如何,我的问题是:如何在VB6中复制打开的文件?

vb6

3
推荐指数
1
解决办法
4594
查看次数

Delphi自定义消息处理程序

当用户双击dbgrid时,我会显示一个非模态表单.

当他们关闭那个表格时,我想刷新网格.

为此,我尝试了以下方法:

1 - 定义自定义消息常量:

const
  WM_REFRESH_MSG = WM_USER + 1;  //defined in a globally available unit
Run Code Online (Sandbox Code Playgroud)

2 - 在我的非模态形式的OnClose事件中,我有:

procedure TMyNonModalForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  PostMessage(Self.Handle,WM_REFRESH_MSG,0,0);
end;
Run Code Online (Sandbox Code Playgroud)

3 - 在包含dbGrid的表单的私有声明中,我有:

procedure OnRefreshRequest(var Msg: TMessage); message WM_REFRESH_MSG;

...

procedure TMyFormWithADBGrid.OnRefreshRequest(var Msg: TMessage);
begin
  RefreshGrid;
end;
Run Code Online (Sandbox Code Playgroud)

执行这些操作后,PostMessage会触发,但OnRefreshRequest过程永远不会运行.我究竟做错了什么?

delphi windows-messages

3
推荐指数
2
解决办法
1万
查看次数

如何跳过Visual Sourcesafe的登录提示?

当我打开它时,我想自动登录到VSS,并完全跳过登录提示.这可能吗?

visual-sourcesafe

2
推荐指数
2
解决办法
7830
查看次数

如何根据其.EXE文件的版本号杀死进程?

我想找到一个属于具有特定文件版本号的.EXE文件的进程,并将其终止.我怎样才能做到这一点?

我正在与德尔福合作,但任何一般帮助将不胜感激.

delphi process

2
推荐指数
1
解决办法
1678
查看次数

Delphi - 继承/覆盖常量数组?

首先,对这篇文章的篇幅表示道歉.如果简洁是智慧的灵魂,那么这是一个无知的问题.

我想我的问题归结为:

在Delphi子类中覆盖常量数组的最佳方法是什么?

背景:

= - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -

我有一个在父类中定义的常量数组,也在很多子类中定义.数组元素的类型总是相同的,但是元素的数量和确切的数据从一个子节点到另一个子节点不同(我正在描述数据库表,因为在编译时需要元数据的特定网格控件,但那不是重点).

我有几个函数作用于这些数组.作为一个简单的例子,我可能有一个函数来返回数组的最后一个元素.

如果在父级中定义"GetLastElement",然后从子级调用该继承函数,它仍将作用于父级版本的数组.这不是我的预期.看起来孩子们应该在他们自己的本地版本的数组上调用继承的函数.

目前,我必须在每个子类中复制这些函数,这令人抓狂.

我希望能够在我的常量数组的本地版本上使用继承函数.最好的方法是什么?我已经考虑过在基类中定义一个返回静态数组的函数,然后为每个子项覆盖它.如果我这样做,那么我就不会在数组上进行操作,我会根据函数结果进行操作.

这将解决继承问题,但它引入了一个新问题,我必须定义一个新类型来封装数组,并修改我的(已经复杂的)网格控件以使用该类型.

欢迎任何建议.

下面是一个简化的应用程序,演示了我在说什么: …

delphi inheritance

2
推荐指数
1
解决办法
2163
查看次数

监视从命令提示符启动的文件复制操作

我想使用Delphi监视复制文件功能.

我可以在带有shell通知程序的Windows资源管理器中执行此操作.

我的问题是使用命令提示符复制文件.

如何使用Delphi监视在命令提示符下启动的复制文件操作的进度?

delphi

2
推荐指数
1
解决办法
511
查看次数

CreateProcess立即返回,但仅在隐藏已启动的进程时才返回

我有以下Delphi代码,为CreateProcess API调用提供友好的包装器.

function StartProcess(ExeName: string; CmdLineArgs: string = '';
  ShowWindow: boolean = True; WaitForFinish: boolean = False): integer;
const
  c_Wait = 100;
var
  StartInfo: TStartupInfo;
  ProcInfo: TProcessInformation;
begin
  //Simple wrapper for the CreateProcess command
  //returns the process id of the started process.
  FillChar(StartInfo,SizeOf(TStartupInfo),#0);
  FillChar(ProcInfo,SizeOf(TProcessInformation),#0);
  StartInfo.cb := SizeOf(TStartupInfo);

  //this block is the only part of execution that is different
  //between my two calls.  What am I doing wrong with these flags?
  if not(ShowWindow) then begin
    StartInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
    StartInfo.wShowWindow …
Run Code Online (Sandbox Code Playgroud)

delphi winapi

2
推荐指数
1
解决办法
6923
查看次数