问题标签 [delphi-prism-2010]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
215 浏览

delphi - 为什么 Delphi Prism 抱怨系统类型不匹配?

我在 Delphi Prism 2010 中遇到了一个我无法解决的奇怪编译器错误。错误是调用在第三方程序集中定义的对象上的方法,该程序集操纵专门的图像格式。程序集本身是针对 .Net 2.0 运行时编译的。

尽管提供了正确的参数列表,但我始终收到错误消息和一系列警告消息,表明参数列表不正确。VS 2008 IDE 也拒绝执行参数完成,但正确显示方法原型并允许使用 Ctrl-Space 添加方法。下面是编译器错误的缩写版本来说明问题:

错误 1 ​​(PE19) 没有使用这些参数的重载方法“GetTempMapOfIRSensor”

警告 2 (PH2) 最佳匹配“Image.GetTempMapOfIRSensor(var rectOnSensor: System.Drawing.Rectangle; out average: System.Double; out minTempArrayIndex: System.Int32; out maxTempArrayIndex: System.Int32; desiredTempUnits: Image.TEMP_UNIT): array System.Double 与参数 1 不匹配,参数为“System.Drawing.Rectangle”应为“System.Drawing.Rectangle”

警告 3 (PH2) 最佳匹配“Image.GetTempMapOfIRSensor(var rectOnSensor: System.Drawing.Rectangle; out average: System.Double; out minTempArrayIndex: System.Int32; out maxTempArrayIndex: System.Int32; desiredTempUnits: Fluke.Thermography.TEMP_UNIT) : System.Double 数组与参数 2 不匹配,参数为“System.Double”应为“System.Double”

....每个剩余参数的类似警告列表

奇怪的是编译器抱怨每个参数的类型不匹配,但错误消息显示参数类型名称相同(例如参数是“System.Double”应该是“System.Double”)。

欢迎任何有关如何解决和解决此问题的建议。除了这一种方法之外,有问题的类似乎在其他所有方面都运行良好。我还能够在具有相同签名的本地类上创建一个方法,并在没有错误的情况下调用它。

更新:

使用反射和相同的参数列表调用该方法可以正常工作。这看起来是某种编译器错误/限制。

0 投票
5 回答
2270 浏览

pascal - 为什么我们需要德尔福棱镜

什么需要使用delphi prism而不是Visual Studio;我是一个德尔福程序员,所以我喜欢对象帕斯卡,但德尔福棱镜还有什么其他没有的

0 投票
1 回答
215 浏览

.net - 如何打开窗体?

我正在学习在 Delphi Prism 中编程,并且已经完成了速成课程教程,我认为这很棒。我学到了很多东西,但它没有向我展示一种非常重要的编程技术,所有基于窗口的编程语言都允许程序员这样做。那就是从另一个窗口中打开一个窗口,就像您单击一个按钮以打开一个执行命令的窗口一样 Form1.Show;

我试过了,但没有任何反应。我做错了什么或者你是怎么做的?

谢谢,

0 投票
3 回答
1099 浏览

.net - 带有窗口窗体应用程序的 ASP.NET

我是 Dot NET 环境的初学者,到目前为止,我对 Dot NET 的阅读和所做的工作并不满意。

我需要迁移或编写一个将 ASP.NET 与窗口窗体应用程序结合使用的程序。无论出于何种原因,我都无法将此程序创建为单个项目。我是否想了解 Dot NET 是什么,或者 Dot NET 的设计目的是什么?

我有基于 Visual Studio 2010 的 Delphi Prism(DP)。在 DP 下,我只能为 ASP.NET 和/或 Windows 窗体应用程序创建单独的项目。我似乎无法在一个项目下同时使用这两个世界。甚至有可能做到这一点吗?

我的 Delphi Prism Dot NET 程序应该是部分基于窗口和部分基于 Web 的。作为一个基于窗口的程序,它应该在串口和网络上发送和接收数据。作为基于 Web 的,它应该让用户访问 Internet 或 LAN 或 Intranet 上的基于窗口(服务器端)的程序。

我运行了他们所有的演示并在线搜索了帮助。尽管如此,我还是很难接受。

我越来越沮丧。我认为,在 Dot NET 中编程会轻而易举,但结果却是个问题。我现在应该知道 Dot NET 是 Microsoft。

如果有人可以给我提示或更多信息以帮助我更好地理解 Dot NET,我将不胜感激。谢谢你。

0 投票
1 回答
1595 浏览

linux - LINUX 中的串行通信 (RS232)

我目前正在使用 Delphi Prism 进行 Mono 开发。因此,该软件可以是跨平台的,主要运行在Linux操作系统上。首先,我一直在实现和测试运行我的软件的基本功能 - 串行和网络通信。

但我似乎无法通过 Mono 的串行通信实现。搜了网上和 Stackoverflow 好像都没有支持 Linux 环境的库或者 .NET 框架。尽管 Stackoverflow 中其他人提出了一些类似的问题,但答案并没有真正显示任何示例。我有点卡住了。

这是我为 Mono 串行通信编写的代码。访问此网站后。

但是每次我在 Linux 下运行这段代码时,Mono 都会弹出一个消息框,显示“请求的功能未实现”。我不明白为什么。这甚至可以为 Mono 做吗?

我需要访问 Linux 上的串行端口以进行 RS232 通信。

谢谢,

0 投票
1 回答
245 浏览

datagridview - 如何从 main.pas 访问 DataGridView?

我在不同的 winform 上有 DataGridView,我试图从 main.pas 访问 DataGridView,但我不能。

我收到以下错误:“MonoPro.UnitForm”在表达式“fr.dataGridView1”中不包含“dataGridView1”的定义

这是代码:

Form1.pas 与 UnitForm Winform 与 DataGridView

这是 Main.pas。我正在尝试从 Form1.pas (UnitForm) 访问 dataGridView1。

任何想法?

谢谢

0 投票
1 回答
1450 浏览

serial-port - 自动切换 RTS 线(Delphi Prism SerialPort)

我在 Delphi Prism 下使用 SerialPort。我能够将字节发送到串口,但我无法从外部接收数据,因为 SerialPort 请求发送 (RTS) 线总是高或高。那么,您设置什么设置来自动切换 RTS 线?

这是我设置的串口属性:

我确实设置了 DTR。请求发送线是您控制何时读取和写入串行数据的方式。RTS 高则只能写入,RTS 低则只能读取。我们检查了示波器上的通信线,RTS 线一直是高电平,这意味着我们的程序只能发送字节,而不能从外部读取任何字节或数据。这就是 DataReceived 事件永远不会执行的主要原因,因为它永远不会看到任何传入的字节或数据。

所以,在查看了我的串口设置之后,你能告诉我我缺少什么吗?

0 投票
1 回答
69 浏览

delphi-prism - Delphi Prism - 我如何确定 TObjectExtender 正在“扩展”的实际类

我的 Delphi 代码中有大量的日志记录,它经常使用 Self.ClassName 来记录包含当前执行代码的类的名称。

我现在正在将其中的一些代码编译到 Delphi Prism .NET 程序集中。

但是,在 Delphi Prism 下,Self.ClassName 现在返回“TObjectExtender”而不是实际的类名。

例如

输出

在 Delphi XEII 中编译时,但在 VS 2010 中的 Delphi Prism 中编译时输出

无论包含运行代码的实际类如何。

任何人都可以建议一种在 Delphi Prism 中获取实际类名的方法吗?