我正在创建一个WPF对话框.这就像我们的正常messagebox使用ok和cancel按钮.如何创建这样的对话框,以便在Ok打开对话框时选择按钮?
我在我的应用程序中嵌入PHP(在Delphi 2010中编写),使用PHP4Delphi组件与php5ts.dll连接.我想我的程序充当PHP(sapi模块?)的扩展,因为它注册了一些可以在PHP脚本中使用的函数和常量......无论如何,在使用简单数据类型时效果很好,但是当我尝试使用多维数组时作为返回值我得到错误
Access violation at address 01CD3C35 in module 'php5ts.dll'. Read of address 0231E608.
堆栈列表
(000A2C35){php5ts.dll} [01CD3C35] destroy_op_array + $35
(004C4D61){myApp.exe } [008C5D61] php4delphi.TPHPEngine.ShutdownEngine (Line 1497, "php4delphi.pas" + 17) + $7
php4delphi.pas中的第1497行是调用的 tsrm_shutdown();
对我来说,它看起来像垃圾收集器在脚本结束时崩溃,所以我怀疑我没有正确地将数据发送回引擎...因此我的问题是如何将多维数组发送回PHP?
我正在使用的模式是
var subArray: pzval;
_array_init(return_value, nil, 0);
for x := 0 to Data.Count-1 do begin
subArray := MAKE_STD_ZVAL;
_array_init(subArray, nil, 0);
// populate subarray with data, including other subarrays
...
// add subarray to the main array
add_index_zval(return_value, x, subArray);
end;
Run Code Online (Sandbox Code Playgroud)
我是否必须"注册"我创建的子阵列?我必须增加或减少refcount或设置is_ref?IOW,如何设置子数组的return_value和zvals? …
如RAD Studio docwiki中所述,要将32位VCL应用程序迁移到64位:
在IDE中打开32位应用程序,添加并激活64位目标平台,并将应用程序编译为64位应用程序.
我有一个项目组,包含超过200个32位项目.为了支持64位,我需要逐个添加64位目标平台.
是否有更快的方法来添加64位目标平台?
使用delphi 7:
AddObject?将一个整数添加到stringlist项的对象部分?如何使用新发布的Firemonkey框架打印文档?
是否有任何简单的通用方法将2个数组添加到一个?在下面的情况下,不可能简单地使用C := A + B声明...我想避免每次都为它做算法.
TPerson = record
Birthday: Tdate;
Name, Surname:string;
end;
Tpeople = array of TPerson;
var A, B, C:Tpeople;
C:=A+B; // it is not possible
Run Code Online (Sandbox Code Playgroud)
感谢名单
安装Delphi XE2后,我尝试命令行编译dcc32.exe来编译一个简单的程序:
program test;
uses SysUtils;
begin
end.
Run Code Online (Sandbox Code Playgroud)
命令行编译器显示错误:
c:> dcc32.exe test.dpr
Embarcadero Delphi for Win32编译器版本23.0版权所有(c)1983,2011 Embarcadero Technologies,
Inc.test.dpr(3)致命:F1026未找到文件:'SysUtils.dcu'
这不会发生在Delphi XE上.
如何将逗号分隔的字符串拆分为存储过程中的字符串并将它们插入表字段?
使用Firebird 2.5
有没有人有一个Delphi/Pascal示例来调用下面的OpenSSL函数...
我特别感兴趣的是:
procedure EVP_CIPHER_CTX_init(a: PEVP_CIPHER_CTX);
function EVP_CIPHER_CTX_cleanup(a: PEVP_CIPHER_CTX): cint;
function EVP_CIPHER_CTX_set_key_length(x: PEVP_CIPHER_CTX; keylen: cint): cint;
function EVP_CIPHER_CTX_ctrl(ctx: PEVP_CIPHER_CTX; type_, arg: cint; ptr: Pointer): cint;
//
function EVP_EncryptInit(ctx: PEVP_CIPHER_CTX; const chipher_: PEVP_CIPHER;const key, iv: PByte): cint;
function EVP_EncryptUpdate(ctx: PEVP_CIPHER_CTX; out_: pcuchar;outlen: pcint; const in_: pcuchar; inlen: cint): cint;
function EVP_EncryptFinal(ctx: PEVP_CIPHER_CTX; out_data: PByte; outlen: pcint): cint;
function EVP_DecryptInit(ctx: PEVP_CIPHER_CTX; chiphir_type: PEVP_CIPHER;const key, iv: PByte): cint;
function EVP_DecryptUpdate(ctx: PEVP_CIPHER_CTX; out_data: PByte;outl: pcint; const in_: PByte; inl: cint): cint;
function EVP_DecryptFinal(ctx: PEVP_CIPHER_CTX; …Run Code Online (Sandbox Code Playgroud) 正如标题所说,我正在尝试在没有IDE的帮助下编译Win32程序,这样我就可以学习.我正在使用Borland Studio 2006,我的第一个想法是从IDE中获取一些Forms应用程序生成的文件并编译项目文件...这给了我关于期望单位和查找对象的错误.我知道这是来自dfm文件,其中包含表单的所有设置,但我不知道IDE如何处理该文件,任何人都可以帮助我更好地理解系统吗?:)
delphi ×8
delphi-xe2 ×3
arrays ×1
build ×1
c# ×1
command-line ×1
dcc32 ×1
delphi-2010 ×1
delphi-7 ×1
dialog ×1
firebird ×1
firebird2.5 ×1
firemonkey ×1
freepascal ×1
ide ×1
macos ×1
openssl ×1
pascal ×1
php4delphi ×1
printing ×1
sql ×1
string ×1
tstringlist ×1
wpf ×1