如何将两个VCL组件合并在一起,以便可以访问它们的两个属性?
例如,我想将a TImage和a 合并TPanel为一个,我要求它TPanel是基本组件,因此TImage将是子项TPanel.
是否有可能做到这一点?
我一直试图通过Component> New VCL Component在Delphi 2010中做到这一点,但是当我需要可视组件时它会创建非可视组件.
我该怎么做才能改变这个?
我已经在Stackoverflow上搜索了我遇到的问题,但它们都非常具体针对特定的访问冲突.
我认为我遇到问题的代码是一个名为MpqExtractFile存储在DLL中的函数.
功能:
function MpqExtractFile(var hMPQ: Integer; szToExtract, szExtracted: AnsiString): Boolean; stdcall; external 'MpqLib.dll' name 'B2';
Run Code Online (Sandbox Code Playgroud)
呼叫:
if MpqExtractFile(hMPQ, 'war3map.j', AnsiString(tempDir+'\war3map.j')) = True
then ShowMessage('Success.')
else ShowMessage('Failed.');
Run Code Online (Sandbox Code Playgroud)
执行此代码后,我的应用程序抛出访问冲突错误,因此ShowMessage根本不显示.
我不确定上述是否足以估计问题可能是什么,但如果还有什么我应该告诉我.
编辑
这是我一直在解释的VB.NET源代码的摘录:
Declare Function MpqExtractFile Lib "MpqLib.dll" Alias "B2" (ByVal hMPQ As Integer, ByVal szToExtract As String, ByVal szExtracted As String) As Boolean
Run Code Online (Sandbox Code Playgroud)
我显然不熟悉其他语言的声明,但我在声明VB函数的同一个VB文件中找到了下面的函数.
BOOL WINAPI MpqExtractFile(HANDLE hMpq, const char * szToExtract, const char * szExtracted);
Run Code Online (Sandbox Code Playgroud)
先谢谢你!
我在Delphi中观看了与创建和使用数据库相关的视频.该视频指出您可以使用代码,数据资源管理器或SQLite3控制台应用程序创建数据库,但我无法找到如何使用数据资源管理器创建数据库.有谁知道我可以这样做的方式?
先谢谢你.
说列表a = [4, 8, 5, 7, 7, 7, 7, 3, 2, 2, 2, 5, 3, 3, 3, 3, 3]有没有办法用列表理解创建这个列表?
a = [4,8,5,(4乘7),3,(3乘2),5,(5乘3)]
我知道如何只使用一个重复值,而不是三个和非重复值.