小编LaB*_*cca的帖子

Delphi服务器端框架用于管理会话并使用JSON响应ajax请求?

如果不重新发明轮子,我可以用什么来管理Web应用程序中的用户会话,并能够使用JSON响应ajax请求?

是否有一些框架(例如使用Indy组件或类似的东西)?

赏金注意事项:

在实践中,对我来说,回复一个明确的服务器应用程序示例就足够了.不知何故,这个PHP示例的Delphi示例提到了HERE.(没有数据库部分,我想看看发送JSON意味着什么的基础知识.我对TIdHTTPServer有基本的了解.)

delphi ajax session json

12
推荐指数
3
解决办法
4796
查看次数

如何管理线程的返回值?

我创建了一个派生自TThread后台执行查询的类.

我希望这个类与客户端分离.

这种线程的目的是执行简单的检查(比如当前有多少用户连接到应用程序,而不阻止UI),因此一个简单的想法是使用Synchronize方法.

无论如何,因为我希望它被解耦,我在构造函数中传递一个类型的参数

TSyncMethod: procedure of object;
Run Code Online (Sandbox Code Playgroud)

TSyncMethod客户端上的方法在哪里(在我的情况下是一个表单).

无论如何我如何将值传递给TSyncMethod?我应该把结果写在一些"全球的地方",然后在我的TSyncMethod中检查它?

我也试过想

TSyncMethod: procedure(ReturnValue: integer) of object;
Run Code Online (Sandbox Code Playgroud)

但当然,当我打电话时,Synchronize(MySyncMethod)我无法将参数传递给它.

delphi multithreading

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

Delphi:如何在不覆盖现有事件处理程序的情况下动态分配事件处理程序?

我需要遍历组件并分配一个事件处理程序(例如,为所有TButton动态分配OnClick事件

ShowMessage('You clicked on ' + (Sender as TButton).Name);
Run Code Online (Sandbox Code Playgroud)

问题是在某些情况下我已经分配了TButton OnClick事件.

有办法解决问题吗?

让我们想象一下,我有一个Button1,其中的harcoded onclick事件处理程序是:

ShowMessage('This is Button1');
Run Code Online (Sandbox Code Playgroud)

在我的"解析"后,我希望Button1的完整事件处理程序变为:

ShowMessage('This is Button1'); // design time event handler code
ShowMessage('You clicked on ' + (Sender as TButton).Name); // runtime added
Run Code Online (Sandbox Code Playgroud)

注意:我正在寻找一种允许我使用TButton而不继承它的解决方案.

delphi event-handling

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

使用Resource Hacker在构建后更改图标

这个问题写在几个地方(比如这里这里).

在第二个问题中,有一条评论说要使用

ResHacker.exe -addoverwrite "Project.exe", "Project.exe", "ProgramIcon.ico", ICONGROUP, MAINICON, 0
Run Code Online (Sandbox Code Playgroud)

我也试过用-modify而不是-addoverwrite

ResHacker.exe -modify "Project.exe", "Project.exe", "ProgramIcon.ico", ICONGROUP, MAINICON, 0
Run Code Online (Sandbox Code Playgroud)

但结果是一样的.

图标已更改:如果我右键单击exe文件并检查属性,我看到图标已更改,但在Windows资源管理器中,我仍然看到旧图标.

如果我用Resource Hacker打开它(所以不使用它作为命令行工具,而是作为普通的GUI工具),我在"打开文件"对话框中看到了正确的图标.

有人可以提出解决方案吗?我试图在Delphi post build事件中使用它.

delphi explorer icons embedded-resource post-build-event

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

如何在SQL Server中检索非sa密码?

是否可以在SQL Server 2008 R2中检索(如果用户具有sa权限)用户的密码?

场景是这样的:我需要在文档中自动存储所有用户名和密码的列表,但不更改密码,只需读取实际密码即可.

这可能吗?

sql-server password-recovery sql-server-2008

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

使用OLE和Delphi提高Word文档中搜索替换的性能

经过一些实验后,我最终得到了以下代码,以便在MSWord中执行搜索和替换.此代码在页眉和页脚中也能很好地工作,包括第一页或奇数/偶数页面的页眉和/或页脚不同的情况.

问题是我需要调用MSWordSearchAndReplaceInAllDocumentParts我替换的每个字符串,并且我得到一个不可接受的性能(在4页doc字中大约50个字符串2分钟).理想情况下,它当然应该是"瞬时的".

在处理页眉和页脚之前,我只是在主文档中进行搜索和替换(使用wdSeekMainDocument).在这种情况下,perofmrance是可以接受的(即使很慢).我只是想知道它为什么这么慢:切换视图需要时间吗?通常页眉或页脚包含的单词很少,所以我预计页眉和页脚中的所有搜索和替换都不会使整体性能变得更糟.但这不是我观察到的.

这是代码,在底部我放置了探查器结果:

// global variable (just for convenience of posting to Stack Overflow)   
var
 aWordApp: OLEVariant; // global

// This is the function that is executed once per every  string I replace
function MSWordSearchAndReplaceInAllDocumentParts;
begin
    try
      iseekValue := aWordApp.ActiveWindow.ActivePane.View.SeekView;
      iViewType := aWordApp.ActiveWindow.ActivePane.View.Type;
      if iViewType <> wdPrintView then
        aWordApp.ActiveWindow.ActivePane.View.Type := wdPrintView;
      if aWordApp.ActiveDocument.PageSetup.OddAndEvenPagesHeaderFooter then
      begin
        Try
          aWordApp.ActiveWindow.ActivePane.View.SeekView := wdSeekEvenPagesFooter;
          SearchAndReplaceInADocumentPart;
        Except
            // do nothing ..it was not able to set above view
        end;
        Try
          aWordApp.ActiveWindow.ActivePane.View.SeekView := wdSeekEvenPagesHeader; …
Run Code Online (Sandbox Code Playgroud)

delphi activex word-automation

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

Delphi:有一个RTL函数来删除字符串的重音吗?

我需要从字符串中删除重音符号,这是否有Delphi(2009+)函数?

我希望我的字符串只包含AZ az 0-9字符,所以我想自动删除重音

喜欢:

RemoveAccents(àèÃÜÿñ)
Run Code Online (Sandbox Code Playgroud)

这给了

aeAUyn
Run Code Online (Sandbox Code Playgroud)

等等....

delphi string delphi-2009

9
推荐指数
0
解决办法
3290
查看次数

如何创建类似于信息亭的UI,以便用户永远不会退出或切换到另一个应用程序?

我需要创建一个简单的Delphi应用程序,kiosk风格.

这是一个非常简单的事情,一个表单,用户写一些个人信息来注册一个事件.4 TEdit和TButton.

我想要实现的是避免用户执行任何不同的操作,然后键入TEdit或单击TButton.例如,我不希望他做ALT TAB(切换应用程序),按键盘上的Windows键,执行ctrl-alt-canc等...

我可以添加一个passowrd保护按钮来启用/禁用这个"Kiosk模式",这样我需要退出kiosk模式我只需按下该按钮然后退出.

如何在Delphi中实现这种"自助服务终端模式"而不会手动拦截所有按键?或者是否有人已经开发了这个以便它可以共享?

delphi kiosk-mode

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

Delphi中Debug的终极指南

是否有完整的Delphi调试资源,指导如何使用所有IDE调试工具?曾经有过MarcoCantù的指南,但如果我没有错,它会更新到Delphi 5.

请你重定向到一个完整的资源,至少更新到D2009(如果XE更好).

delphi debugging

9
推荐指数
3
解决办法
7027
查看次数

德尔福:在使用条款中列出未使用单位的缺点是什么?

我使用cnPack使用清洁剂,但一般来说这是无用单位的缺点?

我知道其中一些:

1)当然,如果整个项目中没有使用该单元,那么将会有无用的资源消耗

2)代码洞察力会产生无用的结果

3)代码洞察力会变慢

但想象一个简单的案例:

  • 我有一个包含2个表单的项目,我在其中一个表单中使用了StrUtils,但我在两个表单中都声明了StrUtils ......在这种情况下,是否存在内存消耗的缺点?

delphi uses-clause

9
推荐指数
3
解决办法
949
查看次数