小编Lar*_*ens的帖子

如何从32位应用程序注册64位dll(在64位操作系统上)

我目前使用以下函数来注册处理上下文菜单调用的DLL.

function RegisterLibrary(szLibrary: String): Integer;
var
  hLib: THandle;
  drs: TDllRegisterServer;
begin
  // Attempt to load the library
  hLib := LoadLibrary(PChar(szLibrary));

  // Handle check
  if IsHandle(hLib) then
  begin // Get the register function
    @drs := GetProcAddress(hLib, LIB_REGISTER);

    if Assigned(@drs)
      then Result := drs            // Make the function call
      else Result := GetLastError;  // Return last error

    // Unload the library
    FreeLibrary(hLib);
  end else
    Result := GetLastError; // Return last error
end;
Run Code Online (Sandbox Code Playgroud)

不幸的是,当尝试从我的32位应用程序注册64位dll时,它不起作用.

有没有办法从我的32位应用程序(用Delphi编译)注册我的64位dll(用free pascal编译)?

我想我可以调用C:\ Windows\system\regsvr32.exe"/ s"filename"但想知道我是否还有其他选择.

谢谢!

delphi 64-bit

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

在TWebBrowser中也打开新页面

我已经创建了一个带有twebBrowser的应用程序.问题是当我点击一些链接时,例如gmail,它会在我的默认浏览器(即IE)的新窗口中打开.我如何让它像firefox或chrome等一样工作,打开窗口中点击的链接.网址应该在TWebBrowser的窗口中打开.我必须在运行时使用TWebBrowser在运行时创建一个新表单吗?这样的代码不需要,想法会做

提前致谢.

PS我的组织阻止Gmail,Facebook等.但是通过我的TWebBrowser,我可以打开它们.我的QA ppl可以在他们的日志中看到吗?我的猜测是否定的,从那时起他们就会阻止它.你对此有何评论?

delphi delphi-7 twebbrowser

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

如何将命名函数作为参数传递(scriptblock)

我们来看一下经典的一阶函数示例:

function Get-MyName { "George" }

function Say-Hi([scriptblock]$to) {
  Write-Host ("Hi "+(& $to))
}
Run Code Online (Sandbox Code Playgroud)

这很好用:

Say-Hi { "Fred Flintstone" }
Run Code Online (Sandbox Code Playgroud)

这不是:

Say-Hi Get-MyName
Run Code Online (Sandbox Code Playgroud)

因为Get-MyName被评估,而不是作为值本身传递.如何将Get-MyName作为值传递?

powershell scriptblock

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

为什么SQLyog返回的MySQL查询结果比我的Delphi程序快10倍?

select rectype,jobid,jobrecid,template,assignedto,entereddt,enteredby,ref1,processed,processeddt,
processbydt,title,description,connectlanhandle,finished,updateddt,ref2,cancelled,
requireaccept,acceptrejectstate,acceptrejectbydt,alert1dt,alert2dt,alert3dt,despatchallowed,
flag,ref3,projectid,duration,skillset,postcode,prefschedulefrom,prefscheduleto,customdata1,
customdata2,customdata3,hasnotes,displayjobtype,createdby,createddt,colour
 from jobs
 where updateddt >= '1982-02-05 17:25:38'
 or (processed = 'N' and
     cancelled = 'N')
 order by jobid, jobrecid
Run Code Online (Sandbox Code Playgroud)

此查询返回~80000结果.SQLyog(MySQL gui)可以在~600ms内在可见网格中返回结果.我的Delphi程序使用ODBC(最新的MyODBC驱动程序)进行连接,只需要6000毫秒即可完成查询,甚至无需查看结果.

关于如何使我的程序更快的任何想法?

mysql delphi optimization odbc

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

WPF - 实现隐藏的面板的最佳方法是什么?

我有一个主应用程序窗口,也实现了一个停靠面板.在其中一个现有停靠面板的底部,我想添加一个用户可以随意隐藏或查看的窗口.实现这个的最佳方法是什么?我可以设想这背后的大部分代码,我只需要弄清楚这个窗口的适当控件是否在需要时显示但仍然是离散可用的.

wpf show hide panels

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

任何ASP.Net基准测试工具?

我想在服务器中运行时测量.Net应用程序的性能,尤其是ASP.Net中的Web应用程序.

我需要知道任何基准工具使我知道我的源代码可以优化.只要基准工具可以帮助我优化网站的性能.

有关获得仅测量.Net的基准工具的建议吗?请列出商业和免费应用程序或任何开源基准测试工具.

.net asp.net benchmarking open-source

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

如何使用ShellTreeView/ShellListView中的文件名或文件夹名称的完整路径

先生,我创建了一个项目,我使用ShellTreeView,ShellListView,ListView.现在我从ShellTreeView拖动文件夹,从ShellListView拖动文件.现在我想检索文件名,包括完整路径(如:c:\ abc\file.txt)或文件夹(如C:\ abc).为了检索路径,我使用命令按钮和文本框.代码是什么?

开发

delphi delphi-2010

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

Delphi中其他进程的StackWalk?

你知道如何在delphi中读取另一个进程堆栈吗?

delphi debugging winapi readprocessmemory

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

Delphi将文件复制到Windows 7中的systemdir问题

我可以使用copyfile(); 函数将文件复制到Windows XP上的c:/ windows/system32,但后来我使用Windows 7上的功能我无法复制它:o文件不会来那里....

我在编写和阅读注册时遇到了同样的问题,但通过声明WOW键$ 0100修复了它...

我认为问题是uac但不确定..有人可以解释一下:D?

delphi uac

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

何时在TFS中使用迭代和冲刺?

我正在使用Visual Studio SCRUM 1.0TFS 2010中的模板设置一个项目.我对迭代的概念和sprint工作项类型以及何时使用它们感到有些困惑.假设我的项目计划中有以下步骤:

  1. Sprint 0(项目设置)
  2. 冲刺1
  3. 冲刺2
  4. 发布A.
  5. 冲刺3
  6. 冲刺4
  7. 版本B

据我所知,我应该将每个版本设置为迭代,并在其下发布该版本的sprint:

  • 发布A.
    • 冲刺0
    • 冲刺1
    • 冲刺2
  • 版本B
    • 冲刺3
    • 冲刺4

我不明白的是,是否应将sprint设置为迭代,或者它们应该是"sprint"类型的工作项,还是我应该同时创建工作项和迭代来对工作项进行分组?从我所看到的,如果添加为工作项而不是作为迭代添加,则输入有关sprint的信息的可能性更大.将每个sprint作为迭代看起来像是将任务分配给sprint的更简单方法.在两个地方创建每个sprint都会带来好处,但是这种方法有什么问题吗?

tfs scrum tfs2010

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