使用标准有什么不同
type
sl: TStringList
Run Code Online (Sandbox Code Playgroud)
与使用通用TList相比
type
sl: TList<string>
Run Code Online (Sandbox Code Playgroud)
?
据我所知,两者表现完全相同.
这只是做同样事情的另一种方式吗?
是否存在一个比另一个好的情况?
谢谢!
我有一个存储库,在修订版1中添加了文件夹主干,分支和标签.来源保存在行李箱中.修订版7发生了,开发工作一直持续到第16版.现在我必须继续修订第7版,所以我想创建第7版的分支.
以下是我尝试这样做的方法:使用TortoiseSVN,我在存储库浏览器中选择trunk,打开"显示日志",选择版本7并右键单击"从修订版创建分支/标记".出现复制(分支/标记)对话框,其中FROM-URL设置为trunk,我输入.../branches/new_branch_name作为To-URL.检查"存储库中的特定修订"并将其设置为7.
现在我收到一条错误,说"路径...../trunk在修订版7中不存在".但是在版本1中肯定创建了trunk,如果我在"显示日志"对话框中查看修订版7的更改文件,我可以看到在trunk中添加/修改了文件.
我究竟做错了什么?
我正在寻找可以与Delphi项目(所有版本的Delphi)相关联的所有文件类型的列表,更具体地说是应该在源代码控制下的所有文件类型.
这个网站没有提到Delphi 2009,所以我不确定是否有新的文件类型.
是不是可以直接从Codegear获得这样的列表?
将所有答案放在一起,这是一个列表:
文件 - >源代码管理
我不确定这些:它们应该被包括在内吗?
也许还有什么遗失?
在一个单元中我使用该函数DeleteFile,编译器输出一个提示:
"H2443内联函数'DeleteFile'尚未展开,因为在USES列表中未指定单位'Windows'"
在Uses那里SysUtils,它定义DeleteFile(虽然内部调用Windows.DeleteFile).
这个提示意味着什么?如果我Windows加入该Uses条款,它已经消失了,但我想了解困扰编译器的是什么.
我的Server-App使用TIdTCPServer,多个客户端应用程序使用TIdTCPClients连接到服务器(所有计算机都在同一个LAN中).
有些客户只需要每隔几分钟就联系一次服务器,其他人每秒钟就会联系一次,一次只需要每秒20次.
如果我保持客户端和服务器之间的连接打开,我将保存重新连接,但必须检查连接是否丢失.
如果我在每次传输后关闭连接,则每次都必须重新连接,但不需要检查连接是否仍然存在.
做这个的最好方式是什么?
我应该以哪种频率进行数据传输?
两种情况的其他优点/缺点是什么?
如果在使用表单后调用Form.Release,它将释放所有相关内存但不将表单变量设置为nil.
if not assigned (Form1) then
begin
Application.CreateForm(Tform1, Form1);
try
// Do something
finally
Form1.Release
end;
end;
Run Code Online (Sandbox Code Playgroud)
为了能够再次调用相同的代码,Form1必须在某个时候设置为nil.从发布的描述我做不到
Form1 := nil;
Run Code Online (Sandbox Code Playgroud)
在Release之后,因为Release程序将在被调用之后和实际释放表单之前直接返回.我无法检测Form.Release何时完成将表单var设置为nil.
做这个的最好方式是什么?
我有几个工作副本从旧存储库中检出.
旧存储库现在组合到一个新存储库中,因此存储库名称和新存储库中的位置已更改.
现在我想将这些工作副本重新定位到新位置到新存储库中.
在使用TortoiseSVN进行重定位时,我收到警告:
您似乎正在尝试将工作副本重定位到同一存储库中的其他路径.
来源:https://开头老仓库/ oldpath /文件夹
为:https://开头的新版本库/ NEWPATH /文件夹
只需要一个移居如果路径到一个仓库发生了变化.
更改为不同的路径内的存储库通过开关操作来完成.
但它不是同一个存储库中的不同路径.它确实是一个新创建的存储库,具有不同的路径/名称.
当我进入警告并继续重定位时,我收到一个错误:
' https:// new-repository/newpath/folder ' 的存储库有uuid'd3b83275-bf16-aa42-9467-f8a402003233',但WC有'30e22be1-af51-d84d-ad8f-d4e8545a4735'
我的错误在哪里?
如果我通过将目录拖到Tortoise中的新位置将目录移动到同一存储库中的另一个位置,我无法在移动之前签出修订,因为这些旧版本的URL不再有效.
如何移动目录并仍然可以在移动之前访问修订版?
示例:如果我搬家
trunk/folder1/source
Run Code Online (Sandbox Code Playgroud)
至
trunk/folder2/source
Run Code Online (Sandbox Code Playgroud)
然后我可以在folder2下看到"source"文件夹,我可以查看头部修订版,这意味着产生移动的修订版.
但是,如果我尝试签出在移动之前提交的旧版本,我会收到一个错误,即该URL不存在.我想这是因为旧修订版的网址仍指向旧路径.
但是必须有一种方法可以解决这个问题,否则,如果您放弃对较旧版本的访问,那么移动就没有意义.
我想在后台线程中执行数据库查询.OmniThread库将帮助我完成所有的线程,但到目前为止我还有一件事情我不明白:
每个线程都需要单独的数据库连接.后台线程因此创建数据库连接,创建查询然后执行它.
现在我可以使用后台线程的查询对象访问查询结果.
但是在执行查询之后,我想在主线程中访问查询结果.
如果我只是引用后台线程查询对象,这是否会导致问题,因为我正在访问另一个线程中的数据库连接?
据我所知,在这种情况下,主线程不会有它独立的数据库连接,并使用后台线程中的那个并不好.
我的想法在哪里被扭曲,这是做正确的方法?
delphi ×7
svn ×3
tortoisesvn ×3
delphi-2009 ×2
winapi ×2
database ×1
dbexpress ×1
delphi-xe2 ×1
firebird ×1
generics ×1
indy ×1
indy10 ×1
tcp ×1
tstringlist ×1
vcl ×1