我目前使用以下函数来注册处理上下文菜单调用的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"但想知道我是否还有其他选择.
谢谢!
我已经创建了一个带有twebBrowser的应用程序.问题是当我点击一些链接时,例如gmail,它会在我的默认浏览器(即IE)的新窗口中打开.我如何让它像firefox或chrome等一样工作,打开窗口中点击的链接.网址应该在TWebBrowser的窗口中打开.我必须在运行时使用TWebBrowser在运行时创建一个新表单吗?这样的代码不需要,想法会做
提前致谢.
PS我的组织阻止Gmail,Facebook等.但是通过我的TWebBrowser,我可以打开它们.我的QA ppl可以在他们的日志中看到吗?我的猜测是否定的,从那时起他们就会阻止它.你对此有何评论?
我们来看一下经典的一阶函数示例:
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作为值传递?
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毫秒即可完成查询,甚至无需查看结果.
关于如何使我的程序更快的任何想法?
我有一个主应用程序窗口,也实现了一个停靠面板.在其中一个现有停靠面板的底部,我想添加一个用户可以随意隐藏或查看的窗口.实现这个的最佳方法是什么?我可以设想这背后的大部分代码,我只需要弄清楚这个窗口的适当控件是否在需要时显示但仍然是离散可用的.
我想在服务器中运行时测量.Net应用程序的性能,尤其是ASP.Net中的Web应用程序.
我需要知道任何基准工具使我知道我的源代码可以优化.只要基准工具可以帮助我优化网站的性能.
有关获得仅测量.Net的基准工具的建议吗?请列出商业和免费应用程序或任何开源基准测试工具.
先生,我创建了一个项目,我使用ShellTreeView,ShellListView,ListView.现在我从ShellTreeView拖动文件夹,从ShellListView拖动文件.现在我想检索文件名,包括完整路径(如:c:\ abc\file.txt)或文件夹(如C:\ abc).为了检索路径,我使用命令按钮和文本框.代码是什么?
开发
你知道如何在delphi中读取另一个进程堆栈吗?
我可以使用copyfile(); 函数将文件复制到Windows XP上的c:/ windows/system32,但后来我使用Windows 7上的功能我无法复制它:o文件不会来那里....
我在编写和阅读注册时遇到了同样的问题,但通过声明WOW键$ 0100修复了它...
我认为问题是uac但不确定..有人可以解释一下:D?
我正在使用Visual Studio SCRUM 1.0
TFS 2010中的模板设置一个项目.我对迭代的概念和sprint工作项类型以及何时使用它们感到有些困惑.假设我的项目计划中有以下步骤:
据我所知,我应该将每个版本设置为迭代,并在其下发布该版本的sprint:
我不明白的是,是否应将sprint设置为迭代,或者它们应该是"sprint"类型的工作项,还是我应该同时创建工作项和迭代来对工作项进行分组?从我所看到的,如果添加为工作项而不是作为迭代添加,则输入有关sprint的信息的可能性更大.将每个sprint作为迭代看起来像是将任务分配给sprint的更简单方法.在两个地方创建每个sprint都会带来好处,但是这种方法有什么问题吗?
delphi ×6
.net ×1
64-bit ×1
asp.net ×1
benchmarking ×1
debugging ×1
delphi-2010 ×1
delphi-7 ×1
hide ×1
mysql ×1
odbc ×1
open-source ×1
optimization ×1
panels ×1
powershell ×1
scriptblock ×1
scrum ×1
show ×1
tfs ×1
tfs2010 ×1
twebbrowser ×1
uac ×1
winapi ×1
wpf ×1