小编TLa*_*ama的帖子

如何从多维PSafeArray中获取数据?

我需要从PSafeArrayDelphi中读取数据.
PSafeArray是由在C#中开发的DLL中实现的方法返回的.此方法返回二维字符串数组string[,].如何PSafeArray在Delphi中阅读这样的结果?

c# delphi delphi-7 safearray

2
推荐指数
1
解决办法
1495
查看次数

使用delphi和ms访问时,查询表达式中的语法错误(缺少运算符)

有谁知道这个错误的来源:

项目xxxx.exe引发了异常类EoleException,并在查询表达式中显示消息'语法错误(缺少运算符)'序列号=?'

这是我在带有ms access数据库的delphi中的实际代码.

with AddIndividualsAccountADOQuery do
begin
  SQL.Clear;
  SQL.Add('Select * from IndividualAccount where Serial Number=:Sno');
  Parameters.ParamByName('Sno').Value:=edit1.Text;
  Open;
  Active:= True;
end;
Run Code Online (Sandbox Code Playgroud)

实际代码与delphi和sql数据库运行良好.但是当我使用ms访问时,运行应用程序时会出现上述错误.

delphi ms-access

2
推荐指数
1
解决办法
1109
查看次数

在Tchart上绘制stringgrid值

我正在尝试绘制一个带有一些值的图表Stringgrid.它有140x140 rowxCol,仅限数字.在Tchart应显示在X轴上的单元坐标,在y轴上的值.

我正在使用此代码:

procedure TForm2.Button2Click(Sender: TObject);
var 
  Count: Integer;
begin
  with StringGrid1 do
  begin
    for Count := 0 to RowCount-1 do
    begin
      Chart1.Series[0].AddXY(StrToFloat(Cells[0, Count]), 
                             StrToFloat(Cells[1, Count]), '', clTeeColor);
    end;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误: '' is not a floating point value.

delphi tstringgrid

2
推荐指数
1
解决办法
1618
查看次数

Lazarus中组件的名称是什么,Delphi中的名称是"Canvas"?

我想在Lazarus中创建一个绘图应用程序,但是我没有看到适当的控件,我可以在Deplhi中将其用作画布.它叫什么名字 ?

freepascal lazarus

2
推荐指数
1
解决办法
649
查看次数

如何执行字符串作为过程

我在运行时制作了按钮组件,我想要点击每个按钮执行独特的程序.

例如

exec('showmessage('+quotedstr('hello word')+');');
Run Code Online (Sandbox Code Playgroud)

如何在delphi 7中执行字符串作为过程,如php中的eval或delphi xe3中的livebinding?

delphi procedure

2
推荐指数
1
解决办法
1687
查看次数

没有客户端数据集的dbgrid

我有一个带有dbgrid和sqlquery组件的表单.我试图用sqlquery填充dbgrid.当我这样做时,我收到消息"单向数据集上不允许操作".我不想使用客户端数据集,因为我不想要数据的"本地"副本,我想直接读取和显示数据.如何才能做到这一点?

delphi dbexpress delphi-2010

2
推荐指数
1
解决办法
6113
查看次数

如何在 Delphi 上创建正则表达式以删除括号和引号

我以前从未使用过 TPerlRegEx,这是我第一次使用正则表达式。

我正在寻找一个在Delphi Xe2中使用TPerlRegEx的小例子来删除括号和引号,如下所示:

输入字符串:

["some text"]
Run Code Online (Sandbox Code Playgroud)

结果:

some text
Run Code Online (Sandbox Code Playgroud)

单行,没有嵌套的括号或引号。我已经使用 Regexbuddy 创建和测试正则表达式,但它没有给我结果。

regex delphi

2
推荐指数
1
解决办法
6671
查看次数

执行包含BLOB数据的Array DML命令是否可行且有意义?

是否可以执行在参数数组中传递BLOB字段数据的Array DML INSERTUPDATE语句?我问题中更重要的部分,如果可能的话,包含BLOB数据的Array DML命令是否仍然比逐个执行命令更有效?

我注意到TADParam有一个AsBlobs索引属性,所以我认为它可能是可能的,但我还没有尝试过这个,因为没有提及性能也没有示例显示这一点,因为索引属性的类型RawByteString不太适合我的需要.

我正在使用FireDAC并使用SQLite数据库(Params.BindMode = pbByNumber因此我使用INSERT多个本机SQLite VALUES).我的目标是尽可能快地存储大约10万条包含非常小的BLOB数据(每条记录大约1kB)的记录(以FireDAC的抽象成本计算).

delphi sqlite dml anydac firedac

2
推荐指数
1
解决办法
552
查看次数

Delphi使用1个保存按钮保存来自不同数据源的所有值

我得到了这个表格;

在此输入图像描述

我想用1个保存按钮保存这些编辑.但问题是这些字段都有不同的数据源.有人可以帮助我吗?

delphi

2
推荐指数
1
解决办法
306
查看次数

无法在Delphi中销毁动态创建的菜单项

首先,是的,我已经遍布网络,但仍然无法破坏动态创建的菜单项.使用Delphi XE.我创建了这些项目(为了练习,SubMenuName是'Test1':

MenuItemCreated := TMenuItem.Create(PopupMenu1);
MenuItemCreated.Caption:= SubMenuCaption
MenuItemCreated.Hint := SubMenuHint;
MenuItemCreated.Name := SubMenuName;
MenuItemCreated.OnClick :=  SubMenuClick;
MenuItemCreated.AutoHotkeys := maManual;
MySubMenu.Add(MenuItemCreated);
Run Code Online (Sandbox Code Playgroud)

使用创建的子菜单没有问题.SubMenuClick过程正常工作,我确定了正确的subMenu项,因此没有问题.我接下来要做的是一个应用程序注销,它应该使用这个代码释放动态创建的子菜单(虽然我尝试了很多变化):

  // Get rid of the menu items created
  While MySubMenu.Count > 0 do
  begin
    Itemtodelete := MySubMenu.Items[0];
    FreeandNil(ItemtoDelete);
  end;
Run Code Online (Sandbox Code Playgroud)

我已经放入showmessage()调试行,显示菜单项的组件名称是freeandnil'd,它们是我所期望的,即.'Test1'和我创造的任何其他人.然后我重新登录到我的应用程序(它仍然在运行,但我退出了).然后,软件尝试重新创建具有相同名称的相同子菜单(就我的应用程序而言,没有任何改变,并且它们之前被处理掉了(据说)).我马上得到了异常:

错误:名为Test1的组件已存在

我完全不知道如何处理子菜单项,以便我以后可以用相同的名称重新创建它们.

任何帮助非常感谢.

谢谢,KB

delphi delphi-xe

2
推荐指数
1
解决办法
1945
查看次数