我想拥有
SHFileOperation函数复制文件,当时总是只有一个SHFileOperation(但我希望它在线程中)FOF_SIMPLEPROGRESS标志并将一些东西传递给Wnd成员我有两个问题
SHFileOperationwith FOF_SIMPLEPROGRESS标志(用于用户交互)是否安全?Wnd会员?我已经尝试了主窗体的句柄,但是当例如弹出覆盖确认对话框并确认它时,主窗体被发送到后台,真的很奇怪注意:我有一个队列用于这些操作,因此SHFileOperation当时只执行一个操作(完成后,线程继续执行另一个操作,可能是下一个操作SHFileOperation)
非常感谢
是否可以创建和显示TForm而无需源文件?我想在运行时创建我的表单,并且空的*.dfm和*.pas文件对我来说似乎没用.
谢谢
我正在寻找一个Delphi函数,它返回Windows路径中的文件URL路径.在Delphi中有内置的东西吗?
例:
Input
C:\Users\Documents\File.txt
Output
file:///C:/Users/Documents/File.txt
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试使用EM_AUTOURLDETECT消息为TRichEdit组件实现URL检测.
我有以下代码的问题
procedure TForm1.Button1Click(Sender: TObject);
var Mask: Word;
begin
Mask := SendMessage(Handle, EM_GETEVENTMASK, 0, 0);
SendMessage(Handle, EM_SETEVENTMASK, 0, Mask or ENM_LINK);
SendMessage(Handle, EM_AUTOURLDETECT, Integer(True), 0);
end;
Run Code Online (Sandbox Code Playgroud)
它虽然有效,但我必须在这些设置之后更改TRichEdit的文本,以使其检测已写入文本中的URL.这就是问题,因为我的TRichEdit在应用此功能时处于ReadOnly模式.
执行此代码后,如何强制TRichEdit检测已写入文本中的URL,我该怎么办?
我正在查看文档,但没有提到这样的事情.
谢谢
我正在研究组件安装程序(仅适用于Delphi XE2),我想检测Delphi XE2 IDE是否正在运行.你怎么会发现它?
PS我知道TAppBuilder窗口类名,但我还需要检测IDE版本.
我正在研究这种动作队列线程,我想等待某个动作执行.我想在主线程中创建操作,然后将其传递给队列线程函数(到队列的末尾)并等待执行此操作.所以我需要区分刚刚查询过的动作并等待它.
我有一个以下(伪)代码,我想知道
type
TMyThread = class(TThread);
private
FEvent: THandle;
protected
procedure Execute; override;
public
procedure DoSomething(const AEvent: THandle);
end;
procedure TMyThread.Execute;
begin
// is it working with events thread safe ?
SetEvent(FEvent);
// the thread will continue, so I can't use WaitFor
// but it won't set this specific FEvent handle again
// I'm working on such kind of an action queue, so once the action with ID,
// here represented by the FEvent will be processed, it's …Run Code Online (Sandbox Code Playgroud) 我正在使用Synopse的SQLite实现,但我仍然坚持使用以下代码.在窗体的构造我创造一个有两个表的数据库模型Task,并Comment与一个表TaskComments有关系的1:N的任务的意见.我可以将行添加到TaskComments表中(Button1.OnClick事件为它添加一个任务和两个注释)但我不知道如何获取此任务的注释.
任何人都可以建议我如何获得某一行的N行(在这种情况下如何获得任务的评论)?
unit SynopseSQLiteTestUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SynCommons, SQLite3, SQLite3Commons, StdCtrls;
type
TTask = class(TSQLRecord)
private
FTaskName: RawUTF8;
FTaskCreated: TDateTime;
published
property TaskName: RawUTF8 read FTaskName write FTaskName;
property TaskCreated: TDateTime read FTaskCreated write FTaskCreated;
end;
TComment = class(TSQLRecord)
private
FCommentText: RawUTF8;
FCommentCreated: TDateTime;
published
property CommentText: RawUTF8 read FCommentText write FCommentText;
property CommentCreated: TDateTime read FCommentCreated write FCommentCreated;
end;
TTaskComments = class(TSQLRecordMany)
private …Run Code Online (Sandbox Code Playgroud) 我有两个应用程序,其中第一个需要找到第二个(也是我自己),但不同的应用程序(不实例,但不同的应用程序)形式的手柄.我已经看过一些技巧,但我想知道我想做什么或者有效的方法是否安全.
我正在考虑使用FindWindow你可以传递类名的函数,所以如果我将表单中的WinClassName成员更改CreateParams为某个唯一值(例如GUID),那么我很容易找到一个大的窗口很有可能它是我申请的那个.
需要找到其形式的应用程序:
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.WinClassName := '{1EE65C52-2F4B-4600-AAE2-079C29AD2220}';
end;
Run Code Online (Sandbox Code Playgroud)
另一个需要找到前一个表单的应用程序:
procedure TForm1.Button1Click(Sender: TObject);
var
FormHandle: HWND;
begin
FormHandle := FindWindow('{1EE65C52-2F4B-4600-AAE2-079C29AD2220}', nil);
ShowMessage(IntToStr(FormHandle));
end;
Run Code Online (Sandbox Code Playgroud)
我的问题是:
将这个成员更改TCreateParams为我想要的或者在某些事情上是不安全的是否安全?或者,您如何从自己的另一个应用程序(不是应用程序实例,而是您自己的另一个应用程序)中查找表单的句柄?
非常感谢!
我正在寻找一个与Windows资源管理器完全相同的功能(文件排序).现在我正在使用CompareText函数,但它导致以下结果:
--------- /\ ---------
AFile
BFile
_XFile
-----------------------
Run Code Online (Sandbox Code Playgroud)
Windows资源管理器以这种方式对相同的项目进行排序(这就是我想要的):
--------- /\ ---------
_XFile
AFile
BFile
-----------------------
Run Code Online (Sandbox Code Playgroud)
是否有这种比较的功能或我应该由我自己处理?
谢谢!
我想在组件无法加载时向条件状态添加条件状态,并告知其用户(开发人员)该组件无法在设计时加载并在运行时以目标用户加载(如果可能的话,安全地以某种方式安全).
如何防止组件在其构造函数中加载以及如何在设计时和运行时安全地显示构造函数中的消息(异常)?
constructor TSomeComponent.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
if csDesigning in ComponentState then
if SomeIncompatibleCondition then
begin
// how to display message (exception) about the wrong
// condition and interrupt the loading of the component ?
end;
// is it possible to do the same at runtime ?
end;
Run Code Online (Sandbox Code Playgroud)
谢谢
delphi ×10
delphi-xe2 ×4
winapi ×3
delphi-2009 ×2
file ×2
url ×2
classname ×1
components ×1
constructor ×1
createparams ×1
detection ×1
dynamic ×1
events ×1
findwindow ×1
ide ×1
path ×1
sorting ×1
sqlite ×1
tform ×1
trichedit ×1