参考TLB和维护问题 ......
我的人们(通常)使用的问题新的COM/ActiveX类型库支持,在2009年德尔福:
如何稳定是实现?
特别是,我感兴趣的是:添加/删除类,更改GUID,重命名方法/属性,重新排序方法/属性,大型类型库(50多个类),...
它是否像Delphi 2007(噩梦)或Delphi 7一样稳定(相当不错,但有时你必须从SVN恢复TLB文件)或超稳定(如...,嗯,....你呢?记住任何Delphi版本)?
编辑:是的,当然,文本RIDL是一个很好的主意,但我的问题是:TLB
的(新)实现是否支持稳定(特别是RIDL文件与可视TLB编辑器和实现类的同步)我上面描述的任务).
我有一个项目组,其中包含两个共享一个源文件夹的项目,但做了不同的事情.我觉得奇怪的是使用'项目组',但我不想把这个变成一个主观问题,因此我直接问你:
如何在项目组中运行所有项目 - 有一个简短的方法吗?
先感谢您!
您熟悉此块:
Var
mySet: Set Of Char;
C: Char;
begin
mySet := ['a', 'b', 'c'];
If C In mySet Then ShowMessage('Exists');
end;
Run Code Online (Sandbox Code Playgroud)
有没有办法申报Set Of STRING?或者是否有类似的代码我可以使用?这个块的重要部分是If C In mySet Then ShowMessage('Exists');我想使用类似于一组字符串的东西.
谢谢.
我已经阅读了几篇关于表达式树的文章和几篇stackoverflow.com帖子.它让我的大脑明白了.
问题:
1)与DOM(文档对象模型)一样,它是逻辑的内存表示吗?
2)有人解释说这是一种将可执行代码转换为数据的机制,使用它我们可以生成代表代码的数据结构.
是否意味着,表达式树用于设计用户定义的模式?
3)大多数示例将表达式树与Func<>委托或其他委托一起显示,因此使用委托和其他编程构造不能实现与表达式服务相同的事情.
初学者可以理解的解释非常感谢.
我在结构面板中有很多错误.该应用程序使用Delphi 2007编译并运行良好.但代码中有许多代码具有红色下划线.如果我按Ctrl +左键单击它,它会找到原始声明.但是所有这些错误仍然很烦人.
...如果我在局部变量中使用IDisposable,但不调用Dispose()或使用using()模式.
public void BadMethod()
{
var fs = new FileStream("file.txt", FileMode.Create);
fs.WriteByte(0x55);
// no dispose, no using()
}
Run Code Online (Sandbox Code Playgroud)
就像"拥有一次性领域的类型应该是一次性的"规则的领域.
编辑:由FileStream替换MemoryStream,因为MemoryStream只是分配内存而不使用(非托管)资源,所以有人可以讨论强制Dispose()调用.
我正在寻找在.NET中完成热交换的良好实现.我需要的是:
我一直在研究MEF及其目录加载机制,但它似乎非常不可靠.也许有人在那里有另一种实现方式?
升级到最新的ReSharper Ultimate版本后,我的VS配色方案有点乱了.我已经尝试重新安装它,VC12_Config从注册表中删除密钥并修改"扩展已更改文件".如果我暂停ReSharper,我的配色方案会切换回默认的深色皮肤(我想要的).
这是它的样子:


我已经看了很久了,最后决定把问题放在这里.我有一些我需要维护的应用程序是用Delphi 2007 for .NET(ASP.NET 2.0)编写的.通常,我第一次运行应用程序(使用IIS)时,我得到了经典的"无法在Web服务器上启动调试.无法附加到ASP.NET工作进程"消息.我只需按F9(运行)再次运行.有时我必须尝试运行几次才能实际运行.
我正在运行Windows 7 64位(并且在Vista 64位上看到了相同的效果).我确实为ASP.NET配置了IIS,并且我的Web.config文件中有以下代码.
<system.webServer>
<modules>
<add name="DbgConnect" type="Borland.DbkAsp.DbkConnModule,Borland.dbkasp,Version=10.5.0.0,
Culture=neutral, PublicKeyToken=b0524c541232aae7" preCondition="managedHandler" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
关键是我最终可以在调试器中运行应用程序,有时甚至是第一次尝试.很多时候,当我遇到故障时,它会在我按下Run后大约15秒左右发生,有时甚至在我点击一两页(或三个)Web应用程序之后.并且,是的,当Delphi进入这种模式时,我可以简单地运行而无需调试,一切都很好(除非我真的想调试).并且,我可以继续尝试在调试器中运行,最终它将正常工作.
似乎Delphi的.NET调试器在某种程度上得到了应用程序无法运行的想法,然后放弃并停止进程(正如我所提到的那样,有时候显然正在运行).
我知道其他开发者也看到了这种行为.我的问题是,有谁知道如何阻止这种烦人的行为?
我尝试用 Delphi 2010 编写一种对象/记录序列化器,想知道是否有办法检测记录是否是变体记录。例如 Types.pas 中定义的 TRect 记录:
TRect = record
case Integer of
0: (Left, Top, Right, Bottom: Longint);
1: (TopLeft, BottomRight: TPoint);
end;
Run Code Online (Sandbox Code Playgroud)
由于我的序列化程序应该在我的数据结构上递归工作,因此它将下降到 TPoint 记录并在我的序列化文件中生成冗余信息。有没有办法通过获取记录中的详细信息来避免这种情况?
delphi ×6
c# ×3
.net ×2
delphi-2007 ×2
delphi-2009 ×2
activex ×1
asp.net ×1
c++ ×1
colors ×1
com ×1
delphi-2010 ×1
delphi-7 ×1
delphi.net ×1
expression ×1
fxcop ×1
hotswap ×1
idisposable ×1
mef ×1
records ×1
resharper ×1
rtti ×1
typelib ×1