如果我应该使用TXMLTransformProvider或TXMLDocument,我有疑问.
TXMLTransformProvider看起来更易于维护,在我看来,使用它将需要比TXMLDocument更少的编码.
另一方面TXMLDocument看起来更灵活.
我需要的是生成和解析具有嵌套属性的XML文档,将其映射到master-detail clientDataSets并写回一个XML文档.
你有这方面的提示吗?
谢谢.
我尝试了以下代码,但它不从前台窗口检索文本!
procedure TForm1.Button1Click(Sender: TObject);
var
title : pansichar;
s : string;
begin
GetWindowText(GetForegroundWindow(), title,GetWindowTextLength(GetForegroundWindow()) + 1);
s := title;
showmessage(s);
end;
Run Code Online (Sandbox Code Playgroud) 我正在使用Delphi创建一个程序,需要帮助转换Delphi调试器.我创建了一些代码如下:
尝试
...... ......
除了
...
不幸的是,在转移到except代码之前,调试器使用非用户友好消息启动.如何关闭它并直接移动到除代码?
我需要在Delphi中排序接近1,00,000个浮点项.我是Delphi的新手,想知道是否有现成的解决方案.我尝试了一些语言提供的构造,并且他们花费了大量的时间来完成运行.(应用程序的执行时间为5-10秒)
我正在将伟大的fmod C标题翻译成Pascal,而且因为前向声明而被卡住了.如果我在类型之前声明了该函数,则错误为"FMOD_CODEC_STATE:unknown",如果我在函数之前声明FMOD_CODEC_STATE ,则错误为"FMOD_CODEC_METADATACALLBACK:unknown"我是否知道如何解决此问题?非常感谢你 !
type
FMOD_CODEC_STATE = Record
numsubsounds: Integer;
waveformat: array[0..0] of FMOD_CODEC_WAVEFORMAT;
plugindata: Pointer;
filehandle: Pointer;
filesize: Cardinal;
fileread: FMOD_FILE_READCALLBACK;
fileseek: FMOD_FILE_SEEKCALLBACK;
metadata: FMOD_CODEC_METADATACALLBACK;
end;
FMOD_CODEC_METADATACALLBACK = function (codec_state: FMOD_CODEC_STATE; tagtype: FMOD_TAGTYPE; name: PChar; data: Pointer; datalen: Cardinal; datatype: FMOD_TAGDATATYPE; unique: Integer):FMOD_RESULT;
Run Code Online (Sandbox Code Playgroud) 我的项目(在Delphi 6上运行!)需要一个内存分配列表(TMemoryAllocation),它存储在一个对象中,该对象还包含有关分配大小(FSize)的信息,以及分配是否正在使用或是免费的(FUsed) .我基本上将它用作GarbageCollector,以及一种让我的应用程序始终分配/释放内存的方法(并且需要大量的分配/解除分配).
每当我的项目需要分配时,它会查找列表以找到符合所需大小的免费分配.为此,我使用一个简单的for循环:
for I := 0 to FAllocationList.Count - 1 do
begin
if MemoryAllocation.FUsed and (MemoryAllocation.FSize = Size) then
...
Run Code Online (Sandbox Code Playgroud)
我的应用程序运行的时间越长,这个列表会增加到几千个项目,并且当我非常频繁地运行它(每秒几次)时它会大大减慢.
我正试图找到一种方法来加速这个解决方案.我想过按分配大小排序TList.如果我这样做,我应该使用一些智能的方式来访问列表,以获得每次通话时所需的特定大小.有一些简单的方法来做到这一点?
我想到的另一种方式是拥有两个TList.一个用于未使用和一个已用分配.这意味着我必须从一个列表中提取TList.Items并一直添加到另一个列表中.我仍然需要使用for循环来浏览(现在)较小的列表.这是正确的方法吗?
其他建议也非常受欢迎!
在Delphi(2007)中,我习惯用CTRL-SHIFT-0,1,2等设置书签.
自从我升级到Vista x64后,上述功能不再适用.我仍然可以用CTRL-K-0,1,2等设置书签,但我习惯于传统的方式(加上它更快).
有谁知道为什么它不适合我?
我在代码中遇到了以下内容.
_name1
_name2
smeEGiGross:
Run Code Online (Sandbox Code Playgroud)
一般来说,_name1Delphi 4 中的下划线意味着什么?
我构建了一个使用一些Web服务的Delphi-7 Windows应用程序.应用程序的构建方式不需要运行时DLL.当我在Windows 2003服务器上部署它时,它在调用Web服务时失败.它会导致错误"地址00c05269处的访问冲突.写入地址00c05269".我相信原因是需要安装一些软件包.任何人都可以帮我解决这个问题吗?
TIA
delphi ×10
delphi-7 ×2
api ×1
bookmarks ×1
debugging ×1
delphi-2007 ×1
delphi-4 ×1
delphi-6 ×1
deployment ×1
graphics ×1
ide ×1
object ×1
pascal ×1
scalability ×1
soap-client ×1
sorting ×1
xml ×1