标签: delphi-2007

Delphi:如何调试run直到你回到你的源文件?

如果我运行程序并引发异常,我会被问到是否要继续或中断.

如果让我选择休息,我可以看到那里的异常是从,但未来若突破是在图书馆或系统文件的我的源文件不是一个(说的例外是System.pasControls.pas)我需要手动步骤执行前使用F8,直到它返回到我的一个文件,所以我可以看到我的代码的哪一部分导致异常.

这可能需要很长时间.

我知道我应该在我的代码中捕获较低级别的异常,但在这个例子中它并没有击中我的异常处理程序之一.

有没有办法说

  • 继续执行直到你得到文件X或
  • 直到你回到项目特定的文件.

我也对其他编译器/ IDE如何处理它的一般好奇感兴趣.

如果我没有像我应该那样明确表示道歉.

delphi delphi-2007

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

谁将TCP窗口大小设置为0,Indy或Windows?

我们有一个应用程序服务器,当网络拥塞时(在客户端的站点),已经观察到发送带有TCP窗口大小为0的标头.

我们想知道是否是Indy或底层Windows层负责根据标称64K调整TCP窗口大小以适应可用吞吐量.
而且我们可以在它变为0时动作(没有任何东西被发送,用户等待=>没有好处).

因此,欢迎任何信息,链接,指向Indy代码的指针......

免责声明:我不是网络专家.请保持答案可以理解为平均我;-)
注意:它是Windows Server 2003 SP2上的Indy9/D2007.

更多详细信息:
TCP零窗口案例发生在与数据库服务器通信的中间层上.
它发生在最终用户抱怨客户端应用程序速度减慢的同一时刻(这是触发网络调查的原因).
已确定2个导致瓶颈的主要网络问题.
TCP零窗口发生在网络拥塞时,但可能是也可能不是由它引起的.
我们想知道什么时候发生,并且有办法在我们的代码中做一些事情(至少记录日志).

所以核心问题是谁将窗口大小设置为0以及在哪里?
在哪里挂钩(在Indy?)以了解何时发生这种情况?

delphi tcp delphi-2007 indy-9

6
推荐指数
1
解决办法
6377
查看次数

如何批量转换bdsproj到dproj?

我们最近从Delphi 2006升级到Delphi 2007,项目文件从更改.bdsproj.dproj.

到目前为止,我的研究表明,为了创建.dproj,需要在D2007 IDE中打开现有项目.我们有超过400个.bdsproj文件,因此手动执行此操作并不实用.

我想出的过程是使用以下命令从命令行打开所有项目:

find . -name *.bdsproj -exec bds.exe -pDelphi -ns -m "{}" ";"
Run Code Online (Sandbox Code Playgroud)

这是不理想的,因为它很慢(等待BDS加载,等待编译发生,等待BDS关闭,......).

有没有一种有效的方法将多个转换.bdsproj.dproj

注意:上面命令行中的'find'是类似UNIX的查找(例如MKS或GNU),它搜索文件,而不是Windows查找文件中搜索文本.

delphi delphi-2007

6
推荐指数
1
解决办法
1965
查看次数

如何在数组中找到最小和最大的数字?

您好,我怎样才能在delphi中找到最小和最大的数字?

假设我有10个不同的数字存储在一个数组中:

如何在阵列中找到最大数量和最小数字?

arrays delphi search delphi-2007

6
推荐指数
1
解决办法
6586
查看次数

使用delphi从.log文件读取时,将"ÿþI"作为输出数据

我试图从.log文件中读取数据并处理其内容.日志文件由另一个应用程序创建.当我在Delphi中使用readln命令并在备忘录中显示文件的内容时,我只从一个包含超过6000行数据的文件中获取一行数据(ÿþI).

    procedure TForm1.Button1Click(Sender: TObject);
    Var
        F : TextFile;
        s : string;
    begin
        AssignFile(F, 'data.log');
        Reset(F);

        while not Eof(F) do
        begin
            Readln(F, s);
            Memo1.Lines.Add(s);
        end;
    end;
Run Code Online (Sandbox Code Playgroud)

有谁知道问题可能是什么?

delphi delphi-7 delphi-2007

6
推荐指数
1
解决办法
1054
查看次数

使用备用注册表项启动Delphi

我发现此文档表明您可以使用备用注册表项启动Delphi.但我无法让它工作(使用Delphi 2007,也尝试过2010).我的捷径的目标是

"C:\ Program Files\CodeGear\RAD Studio\5.0\bin\bds.exe"-pDelphi -rHKEY_CURRENT_USER\Software\Borland\BDS\5.0

当我运行Delphi启动时没有加载任何包. 我以错误的方式传递密钥吗?这是2007/2010期间的功能吗?(它似乎在那里,因为在启动时正常加载的包没有加载)

我想要解决什么?:

我使用不同版本的第三方组件有不同的发行版.当我需要修复旧分支上的错误时,UI(使用后来的第三方版本运行)更改dfm,使用部分ect.适合在UI中安装的版本.旧的分支仍然链接旧版本的第三方,并崩溃

delphi delphi-2007

6
推荐指数
1
解决办法
1289
查看次数

Delphi中的目录路径操作?

我有一个给定文件夹的完整路径名称,例如

c:\foo\bar
Run Code Online (Sandbox Code Playgroud)

现在我想在c:\ foo里面引用一个名为baz.txt的文件,

c:\foo\bar\..\baz.txt
Run Code Online (Sandbox Code Playgroud)

我目前正在使用.. path运算符向下一级并获取我需要的文件.

是否有一个可以进行路径操作的函数,例如UpOneLevel(str) - > str?我知道我可以通过拆分字符串并删除最后一个令牌来编写一个,但我宁愿它是一个内置/库函数,所以如果有例如转义反斜杠,我不会遇到麻烦.

delphi path delphi-2007

6
推荐指数
1
解决办法
3631
查看次数

如何将字符串元素数组连接成一个字符串

如何将字符串数组转换为字符串(使用分隔符char)?我的意思是,是否有一些系统功能我可以使用而不是编写自己的功能?

arrays delphi string string-concatenation delphi-2007

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

是否可以在打开ADOQuery时显示记录?

我有一个由DataSource链接到DBGrid的ADOQuery.
ADOQuery和DataSource位于DataModule中,连接采用另一种形式.

在查询获取记录时,有没有办法让我的应用程序显示行?
像MSSQL Management Studio一样.

选择大约需要7分钟来终止执行.

我正在使用Delphi 2007.

sql-server delphi delphi-2007 tadoquery

6
推荐指数
1
解决办法
355
查看次数

将SysUtils.WrapText()与包含单引号的字符串一起使用

我正在尝试将SysUtils.WrapText()函数与包含转义的单引号字符的字符串一起使用,并且得到了意外的结果。

var
  Lines : TStrings;
begin
  Lines := TStringList.Create;
  try
    Lines.Text := WrapText('Can''t format message, message file not found', 15);
    ShowMessage(Lines.Text);
  finally
    Lines.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

如果字符串包含撇号字符,则该函数似乎根本不会包装字符串。

我也尝试使用#39代码而不是单引号char,但是问题仍然存在。此外,我已经检查过Lines.Count1

图片

我试过删除单引号字符:

var
  Lines : TStrings;
begin
  Lines := TStringList.Create;
  try
    Lines.Text := WrapText('Cant format message, message file not found', 15);
    ShowMessage(Lines.Text);
  finally
    Lines.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

然后开始按预期包装字符串:

图片

我想知道为什么会发生这种情况,以及如何将WrapText()函数与此类字符串一起使用?

delphi escaping delphi-2007 word-wrap

6
推荐指数
1
解决办法
147
查看次数