我需要从PSafeArray
Delphi中读取数据.
这PSafeArray
是由在C#中开发的DLL中实现的方法返回的.此方法返回二维字符串数组string[,]
.如何PSafeArray
在Delphi中阅读这样的结果?
有谁知道这个错误的来源:
项目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访问时,运行应用程序时会出现上述错误.
我正在尝试绘制一个带有一些值的图表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.
我想在Lazarus中创建一个绘图应用程序,但是我没有看到适当的控件,我可以在Deplhi中将其用作画布.它叫什么名字 ?
我在运行时制作了按钮组件,我想要点击每个按钮执行独特的程序.
例如
exec('showmessage('+quotedstr('hello word')+');');
Run Code Online (Sandbox Code Playgroud)
如何在delphi 7中执行字符串作为过程,如php中的eval或delphi xe3中的livebinding?
我有一个带有dbgrid和sqlquery组件的表单.我试图用sqlquery填充dbgrid.当我这样做时,我收到消息"单向数据集上不允许操作".我不想使用客户端数据集,因为我不想要数据的"本地"副本,我想直接读取和显示数据.如何才能做到这一点?
我以前从未使用过 TPerlRegEx,这是我第一次使用正则表达式。
我正在寻找一个在Delphi Xe2中使用TPerlRegEx的小例子来删除括号和引号,如下所示:
输入字符串:
["some text"]
Run Code Online (Sandbox Code Playgroud)
结果:
some text
Run Code Online (Sandbox Code Playgroud)
单行,没有嵌套的括号或引号。我已经使用 Regexbuddy 创建和测试正则表达式,但它没有给我结果。
是否可以执行在参数数组中传递BLOB字段数据的Array DML INSERT
或UPDATE
语句?我问题中更重要的部分,如果可能的话,包含BLOB数据的Array DML命令是否仍然比逐个执行命令更有效?
我注意到TADParam
有一个AsBlobs
索引属性,所以我认为它可能是可能的,但我还没有尝试过这个,因为没有提及性能也没有示例显示这一点,因为索引属性的类型RawByteString
不太适合我的需要.
我正在使用FireDAC并使用SQLite数据库(Params.BindMode = pbByNumber
因此我使用INSERT
多个本机SQLite VALUES
).我的目标是尽可能快地存储大约10万条包含非常小的BLOB数据(每条记录大约1kB)的记录(以FireDAC的抽象成本计算).
我得到了这个表格;
我想用1个保存按钮保存这些编辑.但问题是这些字段都有不同的数据源.有人可以帮助我吗?
首先,是的,我已经遍布网络,但仍然无法破坏动态创建的菜单项.使用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