小编Sti*_*ers的帖子

TCompressionStream使用数据初始化

SPDY协议指定使用预定义的数据块初始化名称/值数据的压缩:

http://mbelshe.github.com/SPDY-Specification/draft-mbelshe-spdy-00.xml#rfc.section.2.6.9.1

(zlib压缩的工作方式是,对于"看起来"再次出现更多的字符串,它将使用更少的位,因此如果您使用通常的嫌疑人预加载压缩,那么在压缩之后您可能会得到更少的位当时.但现在我真正的问题:)

这可能来自ZLib单元的Delphi的TCompressionStream吗?

delphi zlib

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

如何在每次编译时强制编译资源?

是否有项目/编译器/链接器设置可以强制brcc32.exe .rc在项目中包含的部分或全部文件上运行?默认情况下,只有.rc已更改的文件才会被重新编译,但是当包含任何文件时.rc都不会.现在我们手动删除.res文件以强制重新编译.

更新:受到接受的答案的启发,我写道:https://gist.github.com/2868141

delphi configuration embedded-resource

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

HWND在ShellExecute中做了什么?

ShellExecute用来做某事,第一个参数是HWND ,MSDN上的文档说:

父窗口的句柄,用于显示UI或错误消息.如果操作未与窗口关联,则此值可以为NULL.

但我发现无论哪个HWND值得到相同的结果.

例如 :

ShellExecute(0, 'open', 'c:\', nil, nil, SW_SHOWNORMAL);

ShellExecute(Self.Handle, 'open', 'c:\', nil, nil, SW_SHOWNORMAL);

ShellExecute(123456, 'open', 'c:\', nil, nil, SW_SHOWNORMAL);

只是得到相同的东西(打开磁盘C),所以我想知道使用不同的用途是什么HWND

顺便说一下,当'HWND = 0'使用DeskTop的Handle时?

delphi

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

使用TTimer和使用TThread有什么区别

我开发了一个连接到SQL Server数据库的应用程序,每隔1秒从表中读取一些数据.
为此,我使用TTimer但数据库响应的延迟会影响我的应用程序性能.

TThread在Delphi中了解一点,我现在想知道的是使用TTimerTThread?之间的区别?在这种情况下,使用TThread而不是TTimer对我的应用程序性能有用吗?

delphi multithreading

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

异常情况下重启服务

我正在开发必须重新启动的服务应用程序.这样做的方法是什么?如果停止,是否可以再次询问系统启动应用程序?我正在使用Delphi 2007.

delphi windows-services

4
推荐指数
2
解决办法
1211
查看次数

为什么这个TStreamAdapter没有发布?

比较这两个片段:

(d as IPersistStream).Save(
  TStreamAdapter.Create(
    TFileStream.Create('test.bin',fmCreate),soOwned),true);
(d as IPersistStream).Load(
  TStreamAdapter.Create(
    TFileStream.Create('test.bin',fmOpenRead),soOwned));
Run Code Online (Sandbox Code Playgroud)

这在第二次失败,TFileStream.Create因为第一次没有被破坏.这很奇怪,因为参数有唯一的引用,我认为它会在关闭Save调用时被破坏.所以我尝试了这个:

var
  x:IStream;
begin
  x:=TStreamAdapter.Create(
    TFileStream.Create('test.bin',fmCreate),soOwned);
  (d as IPersistStream).Save(x,true);
  x:=nil;
  x:=TStreamAdapter.Create(
    TFileStream.Create('test.bin',fmOpenRead),soOwned);
  (d as IPersistStream).Load(x);
  x:=nil;
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.(但是没有再次失败x:=nil;)所以不要担心d,它一个IPersistStream并且表现正常.为什么需要明确的nil分配来强制_Release召唤?这是Delphi 7的已知问题吗?是因为链接器/编译器切换?

delphi com automatic-ref-counting

4
推荐指数
1
解决办法
585
查看次数

是否有DCC32.exe命令行开关使其使用/创建.dcu文件?

编译从脚本调用DCC32.EXE的Delphi项目时,不会生成.dcu文件.

是否有命令行开关(或.cfg设置)使编译器创建dcu?然后编译器还会检查.pas文件并在源已更改时重新创建.dcu吗?

(我已经看到Delphi 6编译器类似的问题,但是我无法在新版本的Delphi中找到它)

delphi compiler-construction command-line dcc32

3
推荐指数
1
解决办法
2620
查看次数

为什么这里需要功能名称?

我一直在FireFox的浏览器控制台中测试它,不确定其他javascript环境是否有这个:

? {x:function(){console.log("test");}}["x"]();
? SyntaxError: function statement requires a name
Run Code Online (Sandbox Code Playgroud)

为什么?这有效:

? ({x:function(){console.log("test");}})["x"]();
? undefined
? "test"
Run Code Online (Sandbox Code Playgroud)

(如果有人想知道:我真的很讨厌switch,case,break语法.我宁愿使用这种结构.)

javascript firefox

3
推荐指数
1
解决办法
108
查看次数

Delphi有isqrt吗?

我正在对UInt64值中的大整数进行一些繁重的工作,并且想知道Delphi是否具有整数平方根函数.现在我正在使用,Trunc(Sqrt(x*1.0))但我想必须有一个更高效的方式,也许有一个内联汇编程序的片段?(Sqrt(x)x:UInt64抛出D7无效类型编译器错误,因此*1.0位.)

delphi math

2
推荐指数
1
解决办法
831
查看次数

Utf8ToString和旧的Delphi版本

我想在旧版和新版Delphi中使用一些单元.从最近的Delphi版本开始,Utf8Decode抛出一个弃用的警告,建议切换到Utf8ToString.问题是旧版本的Delphi没有声明这个函数,那么{$IFDEF}我应该使用哪个标签来定义Utf8Decode命名Utf8String(或者可能Utf8ToWideString)的包装?

或者换句话说:Utf8ToString引入了哪个版本?

delphi

2
推荐指数
1
解决办法
8499
查看次数

tinyMCE:如何添加快捷键 Ctrl+Enter

如何将快捷方式Ctrl+添加EntertinyMCE (v4) 以使其发布与编辑器一起使用的表单?我试过这个,但似乎不起作用:

<script><!--
$('#txtField1').tinymce({
script_url:"js/tinymce/tinymce.min.js",
content_css:"css/editor.xxm",
//etc. all of my other config goes here
setup: function(e){
  e.shortcuts.add("ctrl+enter","submit",function(){document.form[0].submit();});}
});
//--></script>
Run Code Online (Sandbox Code Playgroud)

javascript tinymce tinymce-4

2
推荐指数
1
解决办法
551
查看次数

IdHTTP使用哪种传输协议

我被公司要求记录我们的客户端只在软件级别通过TCP协议与我们的服务器通信.我一直认为IdHTTP利用TCP,但我不知道如何证明它.我无法在文档中找到它.

delphi indy

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

offsetParent.scrollTop 在大多数浏览器中不起作用

难道我做错了什么?看起来这只适用于 IE,尽管我看不到我期望其他人无法处理的内容。

<div id="test" style="height:4em;overflow:scroll;">
one<br />two<br />three<br />four<br />five<br />six<br />seven<br />eight<br />nine<br />ten<br />
<b id="item1">I should come into view!</b>
</div>
<script><!--
document.getElementById("item1").offsetParent.scrollTop=1000;
//--></script>
Run Code Online (Sandbox Code Playgroud)

(请不要回答为什么不使用“test”,因为这是一个简化的示例,用于证明我在使用时遇到问题offsetParent

html javascript dom

0
推荐指数
1
解决办法
1万
查看次数