标签: delphi-prism

为什么VCL/RTL中有这么多$ IF DEFINED(CLR)?

我刚刚将Delphi 2009 VCL/RTL代码与2010年代码进行了比较.

我注意到有很多$IF DEFINED(CLR)条件定义,他们在2010版本中获得了更多.

我认为这些条件定义已经废弃,因为Delphi .NET已经停产.VCL/RTL在Delphi Prism中是不是真的用过?或者是他们?

.net delphi oxygene delphi-prism

22
推荐指数
1
解决办法
4130
查看次数

为什么自我可以在Delphi中分配?

GUI应用程序中的此代码编译并运行:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Self := TForm1.Create(Owner);
end;
Run Code Online (Sandbox Code Playgroud)

(使用Delphi 6和2009测试)

  • 为什么自我可写而不是只读?
  • 哪种情况可能有用?

编辑:

  • 在Delphi Prism中这也是可能的吗?(我想是的,见这里)

更新:使用Self赋值的Delphi应用程序/库:

delphi oop language-features self delphi-prism

17
推荐指数
3
解决办法
2412
查看次数

VS 2008的插件 - 结构突出显示 - 支持语法Delphi Prism

任何人都知道Visual Studio 2008的任何插件,它具有"结构突出显示"能力和Delphi-Prism的语法支持.

目前使用CastaliaCnPack,但只是使用Rad Studio.

我也使用过Codekana,但不支持Delphi Prism的语法.

http://i25.tinypic.com/112eka0.jpg

再见.

delphi plugins oxygene delphi-prism visual-studio

10
推荐指数
1
解决办法
1535
查看次数

有没有人做过或者有没有人知道使用Delphi/Prism为Android操作系统开发的方法?

是否有可能使用Delphi语言(如果绝对必要,使用Prism)来开发Android平台的程序?

任何起点?

delphi android oxygene delphi-prism

8
推荐指数
1
解决办法
733
查看次数

List.AddRange内联声明

这似乎是一个简单的问题,但对我而言,搜索也没有任何结果.到目前为止,我所做的唯一.net编程是使用Delphi Prism.有了Prism,我可以做以下事情:

var l := new List<String>(['A','B','C']);
Run Code Online (Sandbox Code Playgroud)

要么

var l := new List<String>;
l.AddRange(['A','B','C'];
Run Code Online (Sandbox Code Playgroud)

但是我可以在C#中做类似的事情,或者我必须这样做:

var a = new String[] {"A","B","C"};
var l = new List<String>(a);
Run Code Online (Sandbox Code Playgroud)

.net c# delphi oxygene delphi-prism

7
推荐指数
2
解决办法
2万
查看次数

无法访问基础事件字段

我试图通过简单地调用:在TListBox doubleclick事件中导致TButton Click事件:

Button1.Click;
Run Code Online (Sandbox Code Playgroud)

我总是能够在Delphi XE和它下面的版本下做到这一点,但现在它在Delphi Prism中引发错误.错误消息是"无法访问基础事件字段".那么,如何在TListBox实例的另一个控件事件中引发事件?

例如:

method UnitSelectDialog.UnitListBox_DoubleClick(sender: System.Object; e: System.EventArgs);
begin
   Okbtn.Click;
end;
Run Code Online (Sandbox Code Playgroud)

上面的代码与单击表单上的OK Tbutton相同.

delphi events listbox delphi-prism

7
推荐指数
1
解决办法
252
查看次数

为什么ShowDialog总是返回DialogResult.Cancel?

我有一个自定义对话框winform.在它上面我有一个标签,文本框和2个按钮(确定和取消).它还声明并定义了用于传递不同参数列表的重载执行方法.

Dialog Winform的调用方式如下:

var theDialog := new InputMsgBox;

if theInputB.Execute('Awesome StackOverflow','Enter Text?',s,var s) = DialogResult.OK then
begin
  Invalidate;
  SetText(s);
end;
Run Code Online (Sandbox Code Playgroud)

Dialog Winform执行定义如下:

method InputMsgBox.Execute(Title, theMessage, defaultanswer:string;var thevalue:string): DialogResult;
begin
    result := DialogResult.Cancel;

    Requesttext.Text:=themessage;
    Requesttext.Enabled:=true;
    Requesttext.Visible:=true;
    InputTextBox.Text:=defaultanswer;
    InputTextBox.Enabled:=true;
    InputTextBox.Visible:=true;

    CancelBtn.Enabled:=true;
    CancelBtn.Visible:=true;
    Okbtn.Enabled:=true;
    Okbtn.Visible:=true;

    self.ShowDialog;
    Result := self.DialogResult;
    thevalue:=InputTextBox.Text;
end;
Run Code Online (Sandbox Code Playgroud)

当execute方法返回给调用者时,即使单击OKBtn,它也总是返回DialogResult.Cancel.

按钮的对话框相应地设置.

我在Dialog winform上设置了AcceptButton和CancelButton.

我无法弄清楚为什么showdialog方法总是返回DialogResult.Cancel.

更新完成一些测试后,我发现通过调用showdialog = DialogResult.Ok显示我的其他自定义对话框窗口工作正常.所以,我检查了它们两个以查看它们的属性设置是否存在一些差异,并且绝对没有区别.我不明白.提前致谢,

.net dialog return-value delphi-prism dialogresult

6
推荐指数
2
解决办法
5802
查看次数

Delphi Prism是Delphi .net的新版本吗?

首先(在这个问题投票之前):我是一名开发人员,使用面向Win32的Delphi开发99,99%的程序(在Delphi 7中开发仍然非常缓慢地迁移到Delphi 2010).

当Delphi 2006或2007(不记得目前是哪个版本)问世时,我购买了RAD Studio版本,以便能够使用Delphi.net和VCL.net开始开发.net应用程序.

我玩了很短的时间,但最后,由于工作量刚刚使用Delphi 7作为开发平台.

当Delphi 2010发布时,我决定再次给.net一次,并且(愚蠢地)再次购买了Studio许可证,认为包含PRISM是以前的Delphi.net(将在Delphi IDE中开发).

现在我已经安装了PRISM(以及Visual Studio 8 IDE - 恐怖),我只是想知道PRISM是否是Delphi.Net的新版本(可能不是).如果我可以在Prism下使用我的一些Win32代码.

一些回复后的更新:我保持​​问题开放,因为当答案尚未被选中时,你会得到更多答案.

我确实想念Delphi IDE.它既有品味又需要开发两种不同的IDE(键盘快捷键不同 - 我不想放弃Delphi,谢谢))这不是我花费我开发时间的想法.

delphi oxygene delphi-prism delphi-2010

5
推荐指数
4
解决办法
1514
查看次数

如何将Delphi字符串传递给Prism DLL?

我们尝试将字符串从本机Delphi程序传递给Delphi Prism DLL.传递整数没有问题,但DLL中的字符串不匹配.我们看到了Robert Love的代码片段以回应另一个问题,但是没有本机Delphi程序的代码.

我们如何将Delphi中的字符串传递给Delphi Prism DLL?

delphi oxygene delphi-prism delphi-2010

5
推荐指数
2
解决办法
1427
查看次数

在 Delphi Prism 中将 int 转换为 Enum

与这个问题基本相同,但是在Delphi Prism中:

在 C# 中将 int 转换为 enum

我设法从字符串中做到这一点:

YourEnum := Enum.Parse(TypeOf(YourEnum), "mystr") as YourEnum
Run Code Online (Sandbox Code Playgroud)

但我尝试了以下操作,并收到类型不匹配错误:

YourEnum := 3 as YourNum
Run Code Online (Sandbox Code Playgroud)

你知道将 int 转换为 Enum 的语法是什么吗?

delphi enumerable oxygene delphi-prism

5
推荐指数
1
解决办法
3151
查看次数