小编mjn*_*mjn的帖子

Indy 10 Http Server示例

我需要一个简单的代码样本用于Indy 10 Http Server当请求(post)只显示它是否有一个Indy 9样本?谢谢

delphi http indy delphi-7

15
推荐指数
2
解决办法
3万
查看次数

暂停线程不到一毫秒

在消息传递客户端测试应用程序中,需要限制生产者线程以避免泛滥服务器.

由于传输速率约为每秒25,000条消息(每条消息40微秒),因此睡眠(1)引起的延迟时间太长.

如何在Windows上使线程休眠不到一毫秒包含一些与Windows API相关的信息.是否有Delphi的代码片段,类或库?


按照Bens的回答,我发现不同值低于15的睡眠也会提供不同的传输速率(Windows Vista):

每20条消息后休眠(1):

00:02 tx/rx 25740/3705 12831/1846 msgs/sec (77/541 microsecs/msg)
00:04 tx/rx 53101/7405 13255/1848 msgs/sec (75/541 microsecs/msg)
00:06 tx/rx 79640/11288 13260/1879 msgs/sec (75/532 microsecs/msg)
00:08 tx/rx 104520/14562 13055/1818 msgs/sec (76/550 microsecs/msg)
00:10 tx/rx 130760/18829 13066/1881 msgs/sec (76/531 microsecs/msg)
Run Code Online (Sandbox Code Playgroud)

每20条消息后睡觉(5):

00:02 tx/rx 7640/3622 3812/1807 msgs/sec (262/553 microsecs/msg)
00:04 tx/rx 14660/10794 3661/2695 msgs/sec (273/371 microsecs/msg)
00:06 tx/rx 21480/18171 3577/3026 msgs/sec (279/330 microsecs/msg)
00:08 tx/rx 28140/25642 3515/3203 msgs/sec (284/312 microsecs/msg)
00:10 tx/rx 34980/32692 3496/3267 msgs/sec (286/306 microsecs/msg)
Run Code Online (Sandbox Code Playgroud)

在阅读有关忙碌等待下限的评论后,这是意料之外的 …

delphi messaging multithreading sleep

14
推荐指数
2
解决办法
4385
查看次数

如何在DUnit中使用FastMM启用内存泄漏跟踪?

在GUI测试运行器中,内存泄漏检查的菜单项处于非活动状态(变灰).是否有一个特殊的开关我还没有找到激活它们?

使用DUnit 9.4(来自Delphi 2009或来自sourceforge Subversion存储库)和FastMM4.92

delphi memory-leaks dunit fastmm

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

在Delphi中使用Free而不是Release for modal表单是否安全?

Delphi在线帮助说,Release应该用于从内存中删除表单.但是,在模态形式的许多例子中,我看到了这个结构:

MyForm := TMyForm.Create(nil);
try
  MyForm.ShowModal;
finally
  MyForm.Free;
end;
Run Code Online (Sandbox Code Playgroud)

免费是一种破坏模态形式的安全方式吗?正如我在ShowModal的源代码中看到的那样,将调用Application.HandleMessage,直到ModalResult不为0.这就是为什么Free不能干扰挂起的Windows消息的原因?

forms delphi memory-management modal-dialog

13
推荐指数
3
解决办法
7089
查看次数

在哪里可以找到"参考条形码"来验证条形码库输出?

这个问题与"最佳" 条形码库推荐无关,我们在不同平台上使用各种产品,需要一种简单的方法来验证给定的条形码是否正确(根据其规格).

我们发现了条形码由不同的条形码库和互联网上的免费在线条形码生成器呈现的情况.例如,Delphi报告库的新版本将Code128中的非数字字符输出为"0",或者只是在文本区域中跳过它们.在我们进行迁移之前,我们想要检查这些更改是否是由新库中的实现中断引起的,因此我们可以将此作为错误报告给作者.

我们主要需要Code128和UCC/EAN-128与A/B/C子码.

我到目前为止检查的在线资源是:

它们也显示出不同的结果,例如支持逗号或加号等字符,至少在人类可读文本中.

.net java delphi barcode code128

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

如何"正确"使用数据感知控件?

我想问一下有经验的用户,如果您更喜欢使用数据感知控件在数据库中添加,插入,删除和编辑数据,或者您愿意这样做.

我开发了一些数据库应用程序,其中为了"用户友好的策略",我遇到了复杂的表事件网络(afterinsert,afteredit,after ...和beforeedit,beforeinsert,之前......).之后,调试应用程序是一项非常讨厌的工作.

意识到这种风险(后来由另一个应用程序)我试图避免这个问题,所以我更加注意编写代码,可读性和全面性.从一开始它似乎一切都好,但由于我需要在发送和加载数据之前处理一些预处理内容,我再次遇到同样的问题,"慢慢地,不可避免地".有时候无论如何我都无法使用数据控件,而DAControl在开始时看起来像是一个"酷"的功能,最终会成为一个障碍.我"必须"为非数据控件控件编写特殊例程,以便表现为数据感知.然后我问自己,为什么我应该使用数据控件?在非数据控件控件上找到应用程序架构是否更好?当然,它需要更多时间来编写防错代码,但是它值得吗?我不知道...

我几次遇到过我,就像jinxed:天堂开始时的地狱......

我不知道,如果我用错误的方法编写DB程序,如果有一些标准的通用做法如何进行.或者,如果这是每个人的常见问题?

Thanx的建议和你的经验

database delphi

13
推荐指数
2
解决办法
2097
查看次数

如何在Jersey中映射以分号分隔的PathParams?

有没有办法使用此参数样式:

/产品/ 123; 456; 789

在泽西的JAX-RS?如果我使用PathParam,则只返回列表中的第一个参数.我试图逃脱分号,但泽西只返回"123; 456; 789"作为第一个参数列表条目的值

我将GET方法声明为

public List<Product> getClichedMessage(@PathParam("ids") List<String> idList)
Run Code Online (Sandbox Code Playgroud)

更新:我指的是Jersey 1.1.5 的泽西用户指南:

通常,方法参数的Java类型可以是(...)4)是List,Set或SortedSet,其中T满足上面的2或3.生成的集合是只读的.(...)有时参数可能包含同一个名称的多个值.如果是这种情况,则可以使用4)中的类型来获得所有值.

更新:这是我的测试代码:

package de.betabeans.resources;

import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

@Path("/test")
public class TestResource {

    @GET
    @Path("/{ids}")
    @Produces({"text/plain"})
    public String getClichedMessage(@PathParam("ids") List<String> idList) {
        return "size=" + idList.size();
    }

}
Run Code Online (Sandbox Code Playgroud)

使用分号转义的测试网址:http:// localhost:8080/resources/test/1%3B2%3B3

更新:Jersey 1.3更改日志包含以下信息:

修复了问题540
http://java.net/jira/browse/JERSEY-540 参数支持参数化类型的List/Set/SortedSet,例如@QueryParam("d")List>,如果有一个StringReaderProvider注册了支持类型List.

我会在此基础上后退房StringReaderProvider http://comments.gmane.org/gmane.comp.java.jersey.user/7545

java rest jax-rs jersey

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

没有XML绑定的XSD到Delphi类

也许以前曾经问过这个问题,但是我还没有找到关于Delphi的问题 - 我在Visual Studio中使用了一个XSD.exe来实现这一点:将XSD转换为代表XSD中指定实体的"普通香草"类 -未绑定到XML文档 - 用于在XSD中创建结构的类,而不是访问符合XSD中概述的结构的数据.

我正在寻找一个可以做到这一点的实用程序或产品(不花大价钱......):例如,我有这样的架构:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="TDelphiClass">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ID"/>
                <xs:element ref="ConnectionString"/>
                <xs:element ref="Group"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ID" type="xs:integer"/>
    <xs:element name="ConnectionString" type="xs:string"/>
    <xs:element name="Group"type="xs:double"/>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

我想生成一个如下所示的Delphi单元/类:

unit uDelphiClass;

interface

uses
  Classes, SysUtils;

type
  TDelphiClass = class(TObject)
    fID: Integer;
    fConnectionString: string;
    fGroup: Double;
  end;

implementation

end.
Run Code Online (Sandbox Code Playgroud)

xml delphi xsd code-generation

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

在非VCL应用程序中使用同步是否危险?

如果用同步编写Delphi代码来序列化对主VCL线程的访问,但是这个代码然后在非VCL应用程序中使用,它是否会与应用程序的主线程同步或根本没有效果?


例:

procedure TMyThread.Execute;
begin

  // ... other code

  Synchronize(SomeMethod);

  // ...

end;
Run Code Online (Sandbox Code Playgroud)

我们假设

  • 它是一个非VCL应用程序,它有一个主线程,它在无限循环中执行(或直到终止)
  • 主线程不CheckSynchronize直接调用或在WakeMainThread处理程序中调用
  • 辅助线程运行并执行Synchronize(SomeMethod),如上例所示

线程会挂起在Synchronize(SomeMethod)行吗?

delphi multithreading

13
推荐指数
2
解决办法
2114
查看次数

GCM示例项目错​​误消息"找不到google-play-services_lib.apk"

使用http://code.google.com/p/gcm/source/browse/#git%2Fgcm-client上提供的示例代码,应用程序启动协议包含有关缺少APK的消息.

[2013-06-22 10:28:24 - GCMClientNewAPI] ------------------------------
[2013-06-22 10:28:24 - GCMClientNewAPI] Android Launch!
[2013-06-22 10:28:24 - GCMClientNewAPI] adb is running normally.
[2013-06-22 10:28:24 - GCMClientNewAPI] Performing com.google.android.gcm.demo.app.DemoActivity activity launch
[2013-06-22 10:28:29 - GCMClientNewAPI] Uploading GCMClientNewAPI.apk onto device '015d3e63881c020d'
[2013-06-22 10:28:30 - GCMClientNewAPI] Installing GCMClientNewAPI.apk...
[2013-06-22 10:29:07 - GCMClientNewAPI] Success!
[2013-06-22 10:29:07 - google-play-services_lib] Could not find google-play-services_lib.apk!
[2013-06-22 10:29:07 - GCMClientNewAPI] Starting activity com.google.android.gcm.demo.app.DemoActivity on device 015d3e63881c020d
[2013-06-22 10:29:07 - GCMClientNewAPI] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.google.android.gcm.demo.app/.DemoActivity } …
Run Code Online (Sandbox Code Playgroud)

eclipse android google-cloud-messaging google-play-services

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