我正在使用Delphi中的查询管理器ADO
,我需要知道查询将返回的所有字段,无论它们有多复杂和多少连接.我想调用一个函数,返回给我,将在特定查询中返回的所有字段,以及字段信息,如表格中的字段.
在使用php的mysql中,我有命令mysql_field_table
,在这个命令中我传递结果对象和字段索引,这个命令为我返回表名.
嗯,这是我的梦想,从查询中的字段索引中获取表名,如:
SELECT * FROM TableOne Left Join Table2 ON Table2.MasterField = Table1.KeyField
Run Code Online (Sandbox Code Playgroud) 我正在尝试在delphi中做一个"愤怒的http下载器",但TIdHttpCli只是不能做我想要的.由于某种原因,它不会在许多线程中同时运行.请看一下这个问题的简单演示:
procedure HttpRequest(AParam : Integer); stdcall;
var
lHttp: TIdHttp;
begin
lHttp := TIdHttp.Create(nil);
{
lHttp.Get(
'http://stackoverflow.com/questions/15977505/',
TMemoryStream.Create
);
}
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
tid: DWORD;
begin
for i := 0 to 4 do
CreateThread(nil, 0, @HttpRequest, nil, 0, tid);
end;
Run Code Online (Sandbox Code Playgroud)
David Heffernan编辑:我简化了问题中的代码.此代码仍然显示该行为.我的测试环境是XE3,Indy与XE3一起交付.
我今天提出另一个问题,这让我很头疼,
我确实将DAO 3.6类型库导入了我的delphi 7,并且开始看到许多有趣的界面,因此我遇到了一个有趣的问题。
每当类Fields出现在另一个类的属性上时,它们都有正确的定义,我的意思是,他被定义为Fields,但是在Index类中,在他描述其结构的所有字段参与者的部分中,属性字段不会出现作为Fields,但作为OleVariant。
查看与TableDefs的区别,这些区别具有Fields属性并与Index定义进行比较:
_TableDef = interface(_DAO)
...
property Fields: Fields read Get_Fields;
...
end;
_Index = interface(_DAO)
...
property Fields: OleVariant read Get_Fields write Set_Fields;
...
end;
Run Code Online (Sandbox Code Playgroud)
问题是,是否有一种方法可以将看起来像OleVariant类型的Field强制转换为Fields接口类型?
我非常感谢StackOverflow中的所有帮助
有没有人知道如何在delphi上使用不同的图标大小,我问因为在浏览器上显示时窗口选择最佳图标大小,但是如何在资源上放置不同大小的图标.
再次感谢