问题列表 - 第25547页

Delphi简单的TCP服务器挂起.表单冻结但服务器继续管理客户端

我正在使用带有IdTCPServer的表单来管理来自客户端的字符串和AThread.connection.readln/writeln系统.字符串处理工作,这不是问题.

问题是,服务器上的表单挂起并且不会加载,但它仍然管理连接到它的所有客户端,因此它正在运行但它不能用作表单.我会猜测它坐在阅读线上还是什么东西......但是我不知道如何在这个时刻解决这个问题.

请帮忙.

procedure TMonitorFrm.ServerExecute(AThread: TIdPeerThread);

    procedure post(PostMessage:string);
    begin
            try
                    AThread.Connection.WriteLn(PostMessage);
            except
                    showmessage('Cannot post');
            end;
    end;

var
        ActClient       : PClient;
        sTemp,
        CommBlock,
        NewCommBlock,
        ReceiverName,
        sContent,
        sSQL,
        sCommand        : String;
        iCount2,
        iCount          : Integer;

        sldb    : TSQLiteDatabase;
        sltb    : TSQLiteTable;

begin
        if not AThread.Terminated and AThread.Connection.Connected then
        begin
                CommBlock := AThread.Connection.ReadLn();
                ActClient := PClient(AThread.Data);
                ActClient.LastAction := Now;
                sCommand := copy(CommBlock,0,pos(',',CommBlock)-1); {seperate command}
                sContent := copy(CommBlock,pos(',',CommBlock)+1,length(CommBlock)-(pos(',',CommBlock)+1)); {seperate data block}
                iCount:= 0 ;

            if sCommand = 'Announce' then //SPECIAL
            begin
                    { Do stuff …
Run Code Online (Sandbox Code Playgroud)

delphi tcp

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

任何网页图形或图表库都支持错误栏吗?

我一直在寻找一个用于即将推出的Web应用程序的图形库,但是我有两个要求让我失望:

  1. 能够将图形保存为图像.
  2. 在折线图和条形图的点上显示误差线.

我通过使用Flash图表甚至Google Chart API找到了#1的解决方案.然而,#2的要求完全阻止了我的追踪,似乎所有现有的框架都完全忽略了这个功能.

我已经尝试了很多库,包括:

  • 谷歌图表工具
    • 看起来他们只能使用Chart API将标记放在点上.这仅涉及静态图像.没有互动性.此外,它们的误差线标记只能在两个系列之间绘制,而不是在y轴的任一方向上从单个数据点延伸.
  • Highcharts
    • 很棒的javascript图表 - 据我所知,不支持错误栏.
  • amCharts
    • 我以为我在这里找到了我的解决方案,但它实际上只是一个被破解的气泡图表,其中气泡看起来像错误条,并且似乎没有在条形图上绘制误差条的功能.

我更喜欢javascript图,但我愿意接受Flash.有没有人遇到过这个问题?是否有支持错误栏的现有javascript或flash图形库?这似乎是任何半科学Web应用程序的高度要求的功能.

charts web-applications graph google-visualization

5
推荐指数
0
解决办法
1363
查看次数

C#内存分配

  • 在c#中使用operator new可能会失败(例如,如果需要大内存)吗?-解决了-
  • 以及如何发现它?-解决了-
  • 新操作员可能会抛出哪些其他故障?

谢谢

c# allocation new-operator operator-keyword

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

在Android中编码SMS消息

我的问题是我想发送某个类的SMS消息并使用某种编码.(0和7位编码).

在检查Android.Telephony.SmsManager和SmsMessage时,没有那么多你可以做的.SmsManager提供了两个函数SendTextMessage和SendDataMessage.如果您只是想向某人发送正常的短信,第一个工作正常.所以我想SendDataMessage是我以某种方式需要使用的函数.但是我无法弄清楚如何使用它.并且似乎没有任何人在使用此功能的网络上(我能找到).

有谁知道任何可以帮助我的事情?:-)要么如何发送Class0 7位编码短信,要么如何正确使用SendDataMessage功能.

sms android character-encoding pdu

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

Google Collections中的懒惰不可修改列表

我正在寻找一个通用的懒惰不可修改列表实现的一个不错的实现来包装我的搜索结果条目.任务的不可修改部分很容易,因为它可以实现,Collections.unmodifiableList()所以我只需要理清懒惰的部分.

令人惊讶的是,谷歌收藏品没有提供任何东西; 而来自Apache Commons Collections的LazyList不支持泛型.

我发现尝试在google-collections之上构建一些东西,但它似乎是不完整的(例如不支持size()),过时的(不能用1.0最终编译)并且需要一些外部类,但可以用作一个好的开始指出建立自己的班级.

是否有人知道LazyList的任何良好实现?如果没有,您认为哪个选项更好:

  • 编写我自己的实现,基于google-collections ForwardingList,类似于Peter Maas所做的;
  • 在Commons Collections LazyList周围编写我自己的包装器(包装器只会添加泛型,所以我不需要在任何地方进行转换,只能在包装器本身中进行转换);
  • 只是写点东西java.util.AbstractList;

欢迎任何其他建议.

编辑:解释为什么我需要一个懒惰的列表.

我有一个Lucene搜索结果(TopDocs),它基本上是Lucene文档的一堆指针.我的搜索结果类将这些指针作为输入并返回由提取的和以其他方式处理的Lucene文档组成的对象列表.通过将所有内容包装到一个惰性列表中,我希望确保在不必要时不进行昂贵的处理.

java collections list guava

8
推荐指数
2
解决办法
2833
查看次数

应用程序密码和SQLite安全性

我一直在google上搜索有关应用程序密码和SQLite安全性的信息已有一段时间了,我发现的任何内容都没有真正回答我的问题.

这是我想弄清楚的:

1)我的应用程序将具有可选的密码活动,该活动将在首次打开应用程序时调用.我的问题是a)如果我通过android偏好或SQLite数据库存储密码,我如何确保密码的安全性和隐私,以及b)如何处理密码恢复?

关于b)从上面开始,我考虑过在启用密码功能时需要电子邮件地址,以及在请求密码恢复时使用的密码提示问题.成功回答提示问题后,密码将通过电子邮件发送到提交的电子邮件地址.我对电子邮件方法的安全性和隐私性并不完全有信心,特别是如果在用户连接到开放的公共无线网络时发送电子邮件.

2)我的应用程序将使用SQLite数据库,如果用户有数据库,它将存储在SD卡上.无论是存储在手机还是SD卡上,我都有哪些选项可用于数据加密,以及它如何影响应用程序性能?

提前感谢您回答这些问题所花费的时间.我认为可能还有其他开发商正在努力解决同样的问题.

database sqlite security passwords privacy

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

一致的Equals()结果,但不一致的TreeMap.containsKey()结果

我有以下对象Node:

    private class Node implements Comparable<Node>(){
         private String guid();

         ...

         public boolean equals(Node o){
             return (this == o);
         }

         public int hashCode(){
              return guid.hashCode();
         }

         public int compareTo(Node o){
            return (this.hashCode() - o.hashCode());
         }

         ...

    }
Run Code Online (Sandbox Code Playgroud)

我在下面使用它TreeMap:

TreeMap<Node, TreeSet<Edge>> nodes = new TreeMap<Node, TreeSet<Edge>>();
Run Code Online (Sandbox Code Playgroud)

现在,树图被用在一个被调用的类中,Graph用于存储当前在图中的节点,以及它们的一组边(来自类Edge).我的问题是当我尝试执行时:

   public containsNode(n){
        for (Node x : nodes.keySet()) {
            System.out.println("HASH CODE: ");
            System.out.print(x.hashCode() == n.hashCode());
            System.out.println("EQUALS: ");
            System.out.print(x.equals(n));
            System.out.println("CONTAINS: ");
            System.out.print(nodes.containsKey(n));
            System.out.println("N: " + n);
            System.out.println("X: " + …
Run Code Online (Sandbox Code Playgroud)

java equals hashcode treemap comparable

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

使用JUnit作为验收测试框架

好的,所以我为一家近年来公开采用敏捷实践进行开发的公司工作.我们的单元测试和代码质量正在提高.我们仍在努力的一个领域是在自动验收测试领域找到最适合我们的方法.我们希望利用我们构建良好的用户故事并使用它们以测试驱动的方式驱动代码.这也将为我们提供每个用户故事的验收水平测试,然后我们可以自动化.

到目前为止,我们已经尝试过Fit,Fitnesse和Selenium.每个都有自己的优势,但我们也有它们的真正问题.有了Fit和Fitnesse,我们不禁觉得它们过于复杂,我们在使用它们时遇到了很多技术问题.该公司尚未完全购买这些工具,并不是特别热衷于维护脚本(并且不是桌面风格的忠实粉丝).Selenium非常好,但速度慢,依赖于实时数据和资源.

我们现在正在考虑的一种方法是使用JUnit框架来提供类似的功能.不是使用JUnit仅测试一小部分工作,为什么不使用它来编写测试(使用JUnit框架)来覆盖应用程序的接受级别?即采取一个新的故事("作为一个用户,我希望看到我的政策的基本细节......")并在JUnit中编写一个测试,该测试开始在政策详细信息链接的入口点执行应用程序代码,但涵盖所有代码并且逻辑到存根数据访问层并返回到转发到应用程序中的下一页的点,断言用户应该在该页面上看到什么数据.

在我看来,这具有以下优点:

  • 简单(无需额外的框架)
  • 零工作与我们的持续集成构建服务器集成(因为它已经处理了我们的JUnit测试)
  • 团队中已经存在完整的技能组合(毕竟它只是一个JUnit测试)

缺点是:

  • 减少客户参与(尽管他们在编写验收测试的第一个位置上大量参与编写用户故事)
  • 也许更难以理解(或理解)JUnit类中的用户故事和接受标准与自由文本规范ala Fit或Fitnesse相比较

所以,我的问题是,你有没有尝试过这种方法?曾经考虑过吗?你的想法是什么?你对这种方法有什么喜欢和不喜欢?最后,如果你能说出你喜欢或不喜欢它们的原因,请仅提及其他框架.

java junit automated-tests acceptance-testing

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

MSDeploy:使用runCommand提供程序调用远程.cmd文件时出错(超时)

尝试使用MSDeploy"runCommand"提供程序在远程计算机上执行.cmd文件时,我们遇到错误.预期的运行时间应该是大约10秒,但MSDeploy只运行它大约2-3秒,之后返回错误详细信息.

这是我正在使用的完整的MSDeploy"runCommand"命令行文本:

    msdeploy.exe -verb:sync -source:runCommand ="D:\ web deploy tester\test_cmd.cmd",dontUseCommandExe = false,waitAttempts = 5,waitInterval = 1000 -dest:auto,computername = http:// test-machine :89/MsDeployAgentService /,用户名= AAA,密码= BBB

以下是返回的错误详细信息:

    错误'错误:(4/21/2010 12:19:25 PM)在远程计算机上处​​理请求时发生错误.

    错误:进程'C:\ WINDOWS\system32\cmd.exe'(命令行'/ c"D:\ web deploy tester\test_cmd.cmd"')因超过等待时间而终止.

    错误计数:1.

    '调用RunCommand时发生

关于为什么会发生这种情况以及如何解决它的任何想法?

command-line timeout msdeploy

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

Zend_Registry - 你需要getInstance()吗?

嘿,我想知道在应用程序中访问Zend_Registry时是否需要包含getInstance(),如果需要,为什么?

例如

    Zend_Registry::getInstance()->get('db');
Run Code Online (Sandbox Code Playgroud)

    Zend_Registry::get('db');
Run Code Online (Sandbox Code Playgroud)

它们似乎都适用于后者不那么冗长.我模糊地理解Zend_Registry是一个单例,我认为这意味着它只能有一个实例?那你为什么需要getInstance()?

registry singleton zend-framework

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