小编ain*_*ain的帖子

如何在wpf对话框中选择默认按钮?

我正在创建一个WPF对话框.这就像我们的正常messagebox使用okcancel按钮.如何创建这样的对话框,以便在Ok打开对话框时选择按钮?

c# wpf dialog

34
推荐指数
1
解决办法
3万
查看次数

使用zend(多维数组)交换数据

我在我的应用程序中嵌入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? …

delphi php-extension delphi-2010 php-internals php4delphi

22
推荐指数
1
解决办法
1156
查看次数

Delphi XE2:寻找更快的方法将VCL ProjectGroup从32位迁移到64位

RAD Studio docwiki中所述,要将32位VCL应用程序迁移到64位:

在IDE中打开32位应用程序,添加并激活64位目标平台,并将应用程序编译为64位应用程序.

我有一个项目组,包含超过200个32位项目.为了支持64位,我需要逐个添加64位目标平台.

是否有更快的方法来添加64位目标平台?

delphi delphi-xe2

13
推荐指数
2
解决办法
968
查看次数

使用TStringList的AddObject和整数?

使用delphi 7:

  • 如何使用AddObject?将一个整数添加到stringlist项的对象部分?
  • 如何从stringlist项的对象属性中检索整数?
  • 完成后如何释放所有对象并列出?

delphi tstringlist delphi-7

12
推荐指数
1
解决办法
1万
查看次数

在Mac OSX上打印Firemonkey

如何使用新发布的Firemonkey框架打印文档?

printing delphi macos delphi-xe2 firemonkey

11
推荐指数
1
解决办法
1601
查看次数

有没有办法将2个数组合二为一?

是否有任何简单的通用方法将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)

感谢名单

arrays delphi concatenation

10
推荐指数
1
解决办法
5407
查看次数

Delphi XE2:使用dcc32.exe编译简单程序失败

安装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上.

delphi dcc32 delphi-xe2

9
推荐指数
3
解决办法
8331
查看次数

如何在存储过程中拆分逗号分隔的字符串?

如何将逗号分隔的字符串拆分为存储过程中的字符串并将它们插入表字段?

使用Firebird 2.5

sql string firebird firebird2.5

8
推荐指数
2
解决办法
2万
查看次数

用于调用OpenSSL EVP函数的Delphi/Pascal示例

有没有人有一个Delphi/Pascal示例来调用下面的OpenSSL函数...

http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/openssl/src/openssl.pas?revision=17634&view=markup

我特别感兴趣的是:

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)

delphi pascal openssl freepascal

8
推荐指数
1
解决办法
7748
查看次数

如何使用Delphi从命令行编译Win32程序

正如标题所说,我正在尝试在没有IDE的帮助下编译Win32程序,这样我就可以学习.我正在使用Borland Studio 2006,我的第一个想法是从IDE中获取一些Forms应用程序生成的文件并编译项目文件...这给了我关于期望单位和查找对象的错误.我知道这是来自dfm文件,其中包含表单的所有设置,但我不知道IDE如何处理该文件,任何人都可以帮助我更好地理解系统吗?:)

ide delphi command-line build

7
推荐指数
1
解决办法
472
查看次数