我的表单中有取消和确定按钮.他们都做了一些事情,然后打电话给他们.如何在表单上设置[x]按钮来调用Cancelclick?
如何在设计模式(组件编写)中获取所有创建的对象(TDataModule类型)?
在delphi下编写客户端 - 服务器应用程序的最佳方法是什么?我知道有一种DataSnap技术,但它不是专业版.您有任何可以分享的经验吗?
当我试图继承TDataModule时,Delphi将后代类视为一种形式,为它们提供字体和客户端属性等属性.(运行时"属性不存在"异常)
TixDataModule = class(TDataModule);
TDM = class(TixDataModule)
end;
Run Code Online (Sandbox Code Playgroud)
我能做些什么才能让它发挥作用?
只是为了好奇:为什么这段代码给出AV而不是抛出异常?
procedure TForm1.Button1Click(Sender: TObject);
var fs: TFormatSettings;
begin
strtodate('2011-01-01', fs);
end;
Run Code Online (Sandbox Code Playgroud) 当我从命令行编译器(iscc.exe)执行inno脚本时,如何取得进展?
我可以管道输出,但我想完成%完成.
我有两个接口来自antoher:
type
ISomeInterface = interface
['{5A46CC3C-353A-495A-BA89-48646C4E5A75}']
end;
ISomeInterfaceChild = interface(ISomeInterface)
['{F64B7E32-B182-4C70-A5B5-72BAA92AAADE}']
end;
Run Code Online (Sandbox Code Playgroud)
现在我有一个参数是ISomeInterface的过程,如:
procedure DoSomething(SomeInterface: ISomeInterface);
Run Code Online (Sandbox Code Playgroud)
我想检查SomeInterface是否是ISomeInterfaceChild.IsDelphi 7中的接口不支持operator,我也不能Supports在这里使用.我能做什么?
我正在尝试从我的程序动态加载exe文件,并从该动态加载的exe运行SomeProcedure.这是我在加载的exe - library.exe中所做的事情
interface
procedure SomeProcedure; stdcall;
implementation
procedure SomeProcedure;
begin
ShowMessage('Ala has a cat');
end;
Run Code Online (Sandbox Code Playgroud)
这是我的exe加载的library.exe并尝试从它运行SomeProcedure.
type
THandle = Integer;
TProc = procedure();
var
AHandle: THandle;
Proc: TProc;
procedure TForm1.Button1Click(Sender: TObject);
begin
AHandle := LoadLibrary('library.exe');
if AHandle <> 0 then begin
@Proc := GetProcAddress(AHandle, 'SomeProcedure');
if @Proc <> nil then
try
Proc;
finally
FreeLibrary(AHandle);
end;
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
不幸的是它不起作用 - AHandle有一个地址,但GetProcAddress总是返回nil.我究竟做错了什么?
我正在运行时加载包LoadPackage().让我们说加载后我想检查包的版本,以确保它是最新的.我怎样才能做到这一点?
我想以最小的努力将多个对象作为一个参数传递.
我有一些类型
TOpenMode = [omNew, omEdit, omBrowse]
Run Code Online (Sandbox Code Playgroud)
和一个程序
procedure OpenForm(Form: TForm; ANewWindow: boolean = false;
Datasets: TUniDataSet; TableOpenMode: TOpenMode);
Run Code Online (Sandbox Code Playgroud)
我想传递多个数据集.没有数组或创建新对象,我可以这样做吗?如何让它们成对传递[UniTable1, TOpenMode], [UniTable2, TOpenMode]?
delphi ×10
delphi-2010 ×4
datamodule ×2
delphi-7 ×2
delphi-xe2 ×2
oop ×2
dll ×1
inno-setup ×1
interface ×1
windows ×1