我不时会在Delphi中丢失断点功能.
我认为这是一个Delphi 2009问题,但现在我在Delphi XE中也有它.
在Delphi 2009中,通过删除.dproj文件,我使断点再次起作用.
在Delphi XE中,我无法显示破坏点.我有更新1应用了所有修补程序.
有没有人有办法解决吗?
我已经做了大约18个月的裸机TCP/IP,所以我想知道目前的技术水平是多少.
我正在寻找正面和负面两个方面,开发服务器和客户端软件.
我将做一个需要坚如磐石的TCP/IP层的项目,所以对我来说这是一个重要的方面:)
为了成为一个社区维基,我正在寻找更广泛的答案,而不仅仅是'坚如磐石'.因此,例如关于特征宽度的信息也是值得赞赏的.
我将使用答案中的相关方面更新问题,以获得具有这些库的平衡概述的Wiki条目.
例如,请参阅下面我的回答以及我过去与Indy的经历我对Indy中的异常处理和反冻结感到矛盾,虽然我已经习惯了它,但仍感觉有点不自然.
现在我用Delphi 2007(非Unicode)和XE(Unicode)开发,所以我考虑的库应该至少支持那两个Delphi版本.
在将对象的新实例传递给具有对象类实现的接口的const接口参数的方法时,编译器是否应该提示/警告?
编辑:当然样本很容易说明问题.但在现实生活中,它变得更加复杂:如果创建和使用在相隔很远的代码(不同的单元,不同的类,不同的项目)中会怎么样?如果由不同的人维护怎么办?如果非const参数变为常量参数,并且不能检查所有调用代码(因为更改代码的人无法访问所有调用代码),该怎么办?
下面的代码崩溃了,很难找到原因.
首先是日志:
1.Run begin
1.RunLeakCrash
2.RunLeakCrash begin
NewInstance 1
AfterConstruction 0
3.LeakCrash begin
_AddRef 1
4.Dump begin
4.Dump Reference=10394576
4.Dump end
_Release 0
_Release Destroy
BeforeDestruction 0
3.LeakCrash Reference got destroyed if it had a RefCount of 1 upon entry, so now it can be unsafe to access it
_AddRef 1
4.Dump begin
4.Dump Reference=10394576
4.Dump end
_Release 0
_Release Destroy
BeforeDestruction 0
3.LeakCrash end with exception
1.Run end
EInvalidPointer: Invalid pointer operation
Run Code Online (Sandbox Code Playgroud)
然后过早释放实现接口的对象实例的代码:
//{$define all} …Run Code Online (Sandbox Code Playgroud) 来自gaucamole的官方网站即(http://guacamole.incubator.apache.org) -
Apache Guacamole是一个无客户端的远程桌面网关.它支持VNC,RDP和SSH等标准协议.
我们称之为无客户端,因为不需要插件或客户端软件.
感谢HTML5,一旦Guacamole安装在服务器上,您访问桌面所需的只是一个Web浏览器.
我可以在Windows Server 2012上设置鳄梨酱.如果是的话怎么样?
我想在RAD Studio/Delphi/C++ Builder相关的开发环境中汇编一个版本相关信息列表.
"直到Delphi XE4,编译器Turbo Pascal 7的版本特定数据是什么?"
请在回答时使用以下格式.您可以在答案中放置多个版本:
VERxxx 定义__BORLANDC__ 值RTLVersion 值CompilerVersion 版本 DllSuffix 包版本(BPL和DCP文件的文件后缀)HKCU 基本注册表项HKLM 基本注册表项ProjectVersion.dproj文件中的值问题是:请为每种产品提供尽可能多的上述特定项目.
我将帮助将其编辑为更易读/不易阅读的列表.
如果可以的话,这种信息分散在互联网上.
像这样的综合列表使软件开发人员更容易在不同的Delphi版本之间交叉引用信息.
虽然我没有将此列表限制在其他产品(Turbo Pascal,Free Pascal,Lazarus,Kylix,C#Builder,Borland Pascal,Turbo Pascal for Windows等),但我的第一个目标是完成Delphi列表.
虽然我知道这是一个悬而未决的问题,但我认为现在仍然需要保证,因为它是:
这就是我想将这个问题标记为"社区维基"的原因:适合这样的历史材料.
我一定会试着保持这个Q&A线程干净.
而且我愿意接受如何使列表更"密集"的提示.
我发现的一些链接很有帮助:
最近我发现C#允许
例如,IScreenCaliburn.Micro在http://caliburnmicro.codeplex.com/SourceControl/latest#src/Caliburn.Micro/IScreen.cs中执行此操作
namespace Caliburn.Micro
{
public interface IScreen : IHaveDisplayName, IActivate, IDeactivate,
IGuardClose, INotifyPropertyChangedEx
{
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这有用的原因,因为它意味着实现的类IScreen也需要实现其他接口.
但我想知道C#如何处理编译器和运行时明智.
这个问题的一些背景/背景:
我来自interface定义方法表的背景,实现接口的类既有自己的方法表,也有指向它们实现的接口的方法表的指针.
我脑子里浮现的各种问题源于我过去与人们进行过的各种多类继承讨论,其中我认为它们也适用于这种情况:
(我在这里使用了单词methods,暗示接口中定义的属性将具有get_或set_方法).
非常感谢对此的任何见解,以及如何更好地表达这个问题的提示.
在Delphi中使用调试DCU非常好,除了系统单元在方法初始化/清理(释放接口,清除数组,行走异常帧等)方面增加了很多开销.
有没有办法用调试DCU运行Delphi,但没有系统单元?
我设法提炼了我的问题中的根本问题之一如何跟踪下面单元中的OLE自动化对象的_AddRef/_Release调用.
我也会回答这个问题,以防其他人碰到这个问题.
问题:使用下面的代码,为什么WINWORD.EXE不会一直退出(有时它会退出).
该装置可能会被削减甚至更多.
unit Unit2;
interface
uses
Winapi.Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls,
WordXP;
type
TForm2 = class(TForm)
WordXPFailsToQuitButton: TButton;
procedure WordXPFailsToQuitButtonClick(Sender: TObject);
private
FWordApplication: TWordApplication;
strict protected
function GetWordApplication: TWordApplication; virtual;
function GetWordApplication_Documents: Documents; virtual;
procedure WordApplication_DocumentBeforeClose(ASender: TObject; const Doc: _Document; var Cancel: WordBool); virtual;
procedure WordApplication_Quit(Sender: TObject); virtual;
property WordApplication: TWordApplication read GetWordApplication;
property WordApplication_Documents: Documents read GetWordApplication_Documents;
end;
var
Form2: TForm2;
implementation
uses
Vcl.OleServer;
{$R *.dfm}
function TForm2.GetWordApplication: …Run Code Online (Sandbox Code Playgroud) delphi ×8
delphi-xe ×2
interface ×2
.net ×1
breakpoints ×1
c# ×1
const ×1
delphi-2007 ×1
delphi-xe2 ×1
ellipsis ×1
guacamole ×1
ide ×1
mono ×1
ole ×1
parameters ×1
rdp ×1
tcp ×1
wiki ×1