我有一个关于使用全局变量和类变量的问题class var.
在类中声明变量class var:
unit Unit1;
interface
type
TClass = class
public
class var ObjectList: TObjectList
end;
implementation
end.
Run Code Online (Sandbox Code Playgroud)
声明全局变量:
unit Unit1;
interface
var
ObjectList: TObjectList
implementation
end.
Run Code Online (Sandbox Code Playgroud)
编译器如何为这两个变量分配内存?
我需要知道类型变量 TDateTime、TDate 和 TTime。
任何人都知道如何做到这一点?
我使用了下面的代码,结果是“不是 TDateTime”、“不是 TDate”、“不是 Ttime”
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.Rtti,
System.SysUtils;
var
DateTime, Date,Time: TValue;
begin
DateTime:= StrToDateTime( '01/01/2013 01:05:09' );
if ( DateTime.TypeInfo = System.TypeInfo(TDateTime) ) then
Writeln( 'Is TDateTime' )
else
Writeln( 'Is NOT TDateTime' );
Date:= StrToDate( '01/01/2015' );
if ( Date.TypeInfo = System.TypeInfo(TDate) ) then
Writeln( 'Is TDate' )
else
Writeln( 'Is NOT TDate' );
Time:= StrToTime( '01:01:02' );
if ( Date.TypeInfo = System.TypeInfo(TTime) ) then
Writeln( 'Is TTime' …Run Code Online (Sandbox Code Playgroud) 我有一个关于lambda函数的问题.
在下面的代码示例中,它是Delphi中的lambda函数?
var
Lambda: TFunc<Integer, Integer>;
begin
Lambda:= function(ANumber: Integer) : Integer
begin
Result:= ANumber * ANumber;
end;
ShowMessage(Lambda(2).ToString());
ShowMessage(Lambda(4).ToString());
end;
Run Code Online (Sandbox Code Playgroud)
谢谢
以这种形式声明数组时,将静态分配内存:
var
Data: array[0..5] of integer;
Run Code Online (Sandbox Code Playgroud)
我的问题是当以下列方式声明数组时:
var
Data: array of integer;
....
SetLength( Data, Length( Data ) + 1 );
Run Code Online (Sandbox Code Playgroud)
内存是静态还是动态分配的?
我认为内存是静态分配的,数组是在内存中复制的,但我不确定.
我使用函数Char和Chr与参数130,并在Delphi 2007 e XE3中表现不同.
Delphi 2007:Char(130)或Chr(130) - 结果:逗号
Delphi XE3:Char(130)或Chr(130) - 结果:#$ 0082
我使用AnsiChar解决问题(130).
我的问题是如果我在使用AnsiChar时遇到问题.我应该在整个项目中通过AnsiChar更改Chr/Char吗?
谢谢
我有一个类D,这个类继承的类B和C,这既继承了A,但是当我创建类的实例D发生此错误:
johni@johni-pc:~/Draft$ python3.4 main.py
Traceback (most recent call last):
File "main.py", line 35, in <module>
d = D()
File "main.py", line 31, in __init__
super().__init__()
File "main.py", line 19, in __init__
super().__init__("pg")
TypeError: __init__() takes 1 positional argument but 2 were given
Run Code Online (Sandbox Code Playgroud)
我不明白这一点.
这些类B和C被初始化参数driver类A.我的档案main.py:
class A:
def __init__(self, driver):
self.driver = driver
@property
def driver(self):
return self.__driver
@driver.setter
def driver(self, …Run Code Online (Sandbox Code Playgroud)