我试图将一些字符串传递给动态字符串数组,在这种情况下它正在工作:
procedure DoSomeThing(in_cmd: string; var out_strs: array of string);
begin
..
for n := low(out_strs) to high(out_strs) do
begin
out_strs[n] :='bla bla';
end;
end;
Run Code Online (Sandbox Code Playgroud)
在应用程序中使用as:
.
.
.
SetLength(my_out_str, sizer);
DoSomeThing('do it now', my_out_str);
.
.
Run Code Online (Sandbox Code Playgroud)
但我想在程序中使用my_out_str的SetLength.可能吗?
我已经创建了我的类来使用REST.我在运行时遇到TRESTClient组件的问题.
TFrwWebServiceREST = class(TInterfacedObject, IRESTWebServiceProxy)
private
FClientRest: TRESTClient;
FRequestRest: TRESTRequest;
FResponseRest: TRESTResponse;
public
constructor Create (AUrl: string); virtual;
end;
...
constructor TFrwWebServiceREST.Create(AUrl: string);
begin
FClientRest := TRESTClient.Create (AUrl); //the error occurs here
FClientRest.AcceptEncoding := 'UTF-8';
FResponseRest := TRESTResponse.Create (nil);
FResponseRest.ContentEncoding := 'UTF-8';
FRequestRest := TRESTRequest.Create (nil);
FRequestRest.AcceptEncoding := 'UTF-8';
FRequestRest.Response := FResponseRest;
FRequestRest.Client := FClientRest;
end;
Run Code Online (Sandbox Code Playgroud)
错误并不总是发生...该过程完美地运行,然后一段时间后,此错误开始发生.
第一次机会异常,价格为7656C54F.已注册消息"没有带有guid {B8BD5BD8-C39D-4DF1-BB14-625FC86029DB的接口的对等体"的异常类EIPAbstractError'.
创建RESTClient时会引发异常.它能是什么?
我需要测试double是否为整数.基本上这是规则的一个例子:
为了做到这一点,我做了一个if (result mod 1) = 0 then
,看看它是否返回true或false.考虑到这result
是双重的.顺便说一句,编译器给我这个错误:
[dcc32错误] Unit1.pas(121):E2015运算符不适用于此操作数类型
我怎么解决这个问题?请注意,我的数字是这种格式,##.#####
所以我对浮点精度没有太多问题.
一般我会使用if (result % 1 == 0) {}
但在Delphi中这不起作用.
我有一个AnsiString
,我需要以最有效的方式将它转换为TBytes
. 我怎样才能做到这一点 ?
我一直想用 OpenGL、C++ 制作游戏有一段时间了,我希望能得到一些关于它到底是如何工作的以及它是什么的解释。
没有OpenGL可以制作计算机图形吗?我在网上看到的大多数教程都展示了如何使用OpenGL进行最基本的图形绘制,可以直接与您的GPU连接吗?
OpenGL 如何在不同的 CPU 和操作系统上工作?据我所知,像 c++ 这样的语言如果想在 ARM 处理器等上使用就必须重新编译,对于 GPU 来说不是这样吗?
如果你确实可以在不使用 OpenGL 的情况下制作图形,那么还有人这样做吗?OpenGL 一般可以节省多少工作和精力?OpenGL 为我们提供的系统有多复杂?
还有其他常用的库(例如 OpenGL)吗?如果没有,新的图书馆最终会取代它,还是它非常适合这项工作而不去任何地方?
我正在尝试打开ADOConnection组件.数据库采用MDB格式.我使用JET来访问它.
每当我在我的代码中使用AdoConnection.Open时,窗口会弹出并请求userid和pass.我为userid输入"Admin"并将密码保留为空,它可以工作,但我不想弹出这个窗口.我尝试使用AdoConnection.Open('Admin','');
但窗口仍然弹出.有什么建议?
我需要在同一对齐上排列所有按钮图标.但随着标题长度改变按钮图像位置的变化 ...请建议我避免它的方法.我正在使用TSpeedButton.
我正在尝试将FOR循环从C转换为Delphi,但我有些疑惑:
我在C中知道这段代码:
for (i = 0; i < mb->size; i++)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
在Delphi中是这样的:
for i := 0 to mb.size do
begin
//...
end;
Run Code Online (Sandbox Code Playgroud)
但这个C代码怎么样:
for (i = 0; i < mb->size; i+= mb->data_size)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
可能会看德尔福?
?
Run Code Online (Sandbox Code Playgroud) 我试图创建一个多边形,并在释放鼠标按钮时平移/旋转它.我可以这样做,如果我再次使用glBegin
和重绘我的整个多边形,glEnd
但我不确定我是否真的需要这个,因为我已经在屏幕上绘制了一次多边形,只是想使用相同的对象并应用旋转/平移它.
我在下面放一个片段.
if(state == GLUT_UP){
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glRotatef(90,0,0,1);
// glTranslatef(50,-50,0);
/*
glBegin(GL_POLYGON);
glVertex2i (-40,40) ; //Specify li ne - se gme nt ge ometry .
glVertex2i (-30 , -40) ;
glVertex2i (0 , 20) ;
glVertex2i (40 , 35) ;
glEnd() ;
*/
glClear(GL_COLOR_BUFFER_BIT);
glPopMatrix();
glutSwapBuffers();
// glutPostRedisplay();
}
Run Code Online (Sandbox Code Playgroud) 我一直在阅读关于这个问题的一些线索,有些没有得到解答,其他人(从2011年开始)解释了这是一个已知的错误.
这已经解决了吗?现在可以显示带有文化信息的软键盘吗?我想显示一个十进制键盘,显示","而不是小数点分隔符的"点".
提前致谢.