Delphi.Net还是没有把Windows底层的东西研究明白!

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

我通过一个WebGIS得出结论:Delphi.Net还是没有把Windows底层的东西研究明白!

以前我用 Borland Delphi 6 + MapInfo MapX 5 开发了一套Win32-GIS应用系统,现在打算移植到WebGIS平台,考虑到精力、时间、难以程度等因素,顺理成章地选择了 Borland Delphi 2006(ASP.Net) + MapInfo MapXtreme 2004(WebControl) 的开发组合。在参考资料奇缺的情况下,费劲千辛万苦,总算把Xtreme的控件“请上了”工具栏里,可每次拖放到web上,总报错,说什么“未将对象引用设置到对象的实例”。这个问题始终无法解决,于是我就按别人的提示,把Xtreme 2004、Delphi 2006、Delphi 2005反复卸载重装,错误还是依旧。

然后全都卸载,先装了VS2003,再装Xtreme,放个MapControl地图控件,运行,完全正常!

于是又把Delphi2006装上,又蹦出那个错误了。那个错误我到网上查了,别人都是在程序运行的过程中报的,我这可倒好,连控件都不让我放到界面上?!经历了一番痛苦的折腾,我冷静了一下,VS+Xtreme能运行,说明Xtreme没问题,.Net框架没问题。那么,问题就出在VS、Delphi.Net这两个IDE身上!我对照了VS引用的Dll,然后在Delphi.Net中,新建一个空Web Application,什么控件也不加,就一个空白页,然后把VS引用的Dll,丝毫不差地在Delphi.Net中也引用,然后编译,不出我所料,Delphi还是报了错,说有两样东西没找到:
          [Pascal Fatal Error] F1026 File not found: 'MapInfo.miAwareStubs.dll'
          [Pascal Fatal Error] E2202 Required package 'MapInfo.Wms.Client' not found
'MapInfo.miAwareStubs.dll'我上网查了一下,是包含在一个叫做Envinsa的dotNetSDK.zip开发包中,而Envinsa则是MapInfo的另一套产品了;App已经引用了MapInfo.Wms.Client.dll,怎么说'MapInfo.Wms.Client'变成package了,而且还找不到?

看来Delphi.Net还是没有把MS.Net底层的东西分析透啊,MS啥都不用放上控件就好使了,Delphi的官方提供的还不够,还冒出一个莫名其妙的别的SDK中的dll,连官方提供的控件在开发阶段都不能放到界面上去?!太让我失望了。不过MS也是仗着自己有操作系统的优势,可开发者只能选择好使的工具进行开发,在这一点上,无论主管怎样,恐怕我要在.Net领域,与Borland Delphi说bye-bye了,我也很痛心啊。

希望能有人帮助我解决这个问题,我希望Delphi.Net能给我一点信心让我觉得它还是有点用的,谢谢!

Delphi新手必看:用Pascal语言5分钟搞定你的第一个桌面应用 本文为零基础编程新手提供了一份Delphi快速入门指南。通过详细的实战步骤,您将在5分钟内使用Pascal语言创建第一个带交互功能的桌面应用程序。文章涵盖了从环境安装、界面拖拽设计到编写核心事件代码的全过程,并演示了如何将其扩展为一个简易计算器,帮助您快速体验Delphi高效的可视化开发魅力。 阅读详情

相关推荐

WPF企业级桌面应用:深度集成、性能优化与架构演进

WPF(Windows Presentation Foundation)作为微软面向Windows平台的声明式UI框架,其核心价值在于基于Direct3D的硬件加速渲染管线、依赖属性与数据绑定驱动的强类型交互模型,以及对Win32/COM/ActiveX的原生互操作能力。它并非简单的界面美化工具,而是满足高DPI适配、离线运行、审计合规与ERP/MES系统集成等企业刚性需求的技术底座。在工业HMI、医疗影像、电力监控等场景中,WPF凭借Visual Tree精细化控制、milcore非托管图形计算卸载、XA

xiang_fu的博客 433

记一次"对象引用设置对象实例"问题的排查过程

最近在给一个老项目做数据对接接口。 背景一 该项目最后更新日期为2006年,使用ASP.NET WebForm、.Net2.0、OJB、Castle Avtive Record等。由于是某集团的子系统之一,所以在获取人员信息时,必须使用已经封装好的组件。 背景二 接口对面是一个JAVA项目,一般这种老系统我都建议使用SOAP服务做对接,要是用Restful服务就得再新...

Beautyme2016的博客 854

Delphi三方控件安装实战:版本核对、路径规划与ActiveX排错

Delphi开发中,控件(Component)是构建桌面应用的核心积木。官方VCL库虽覆盖常规需求,但复杂报表、数据库直连等场景常需依赖三方控件。而‘Delphi控件版本问题导致每次进入IDE都丢失控件’、‘不能装载NTKO大文件上传控件’等高频搜索词,揭示了安装与兼容性才是真正的拦路虎。从底层原理看,控件安装本质是源码编译、BPL注册和Library路径配置的协同过程,版本不匹配或路径污染会引发IDE崩溃或组件丢失。掌握这些技术细节,能帮助开发者高效集成ODAC、Ehlib等主流组件库,并规避Activ

weixin_34391445的博客 414

DataGridView导入Excel时,出现了“对象引用设置对象实例”的解决办法

for (int i = 0; i < iRows - 1; i++) { for (int j = 1, k = 0; j < iCols; j++) { if (dgvStudent.Columns[j].Visible)

wangzhenling的专栏 5111

对象引用设置对象实例--可能出现的问题总结

一、网络上的一般说法1、ViewState 对象为Null。2、DateSet 空。3、sql语句或Datebase的原因导致DataReader空。4、声明字符串变量时赋空值就应用变量。5、用new初始化对象。6、Session对象为空。7、对控件赋文本值时,值不存在。8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时赋初始值。9、使用FindControl时,控件不存在却没有做预处理。10、重复定义造成对象引用设置对象实例错误. 二、      (1)所

sollion的专栏 36万+

delphi2005探讨之一

         2005年元旦前就已经拿到BORLAND发来的DELPHI2005试用版,但苦于原来有很多应用程序是采用DELPHI7开发,听说DELPHI2005是集成c#、.net、win32开发,怕采用DELPHI2005后不能很好地兼容DELPHI7,所以尽管很眼馋,但还是没有装它。        忽然有一天公司领导来视察,说新项目要采用.net架构,让了解一下DELPHI2005。以前

鸣志工作室 1657

delphi两年了

从2005年7月毕业,8月参加工作,接触的是asp,然后是asp.net,由上司带着做网站的开发(asp.net+Ms Server),算是学了一点.net和数据库的知识。 从2006年底(2007年初),原来的部门经理离职,开始接触Delphi,从改人家写的程序的Bug,到现在自己写自己的程序。两年的时间了。两年的时间里,学了不少的东西,但大多都是自学,因为也没有人带。现在的部门经理根本没写过程

记录成长的每一步 1186

(转)微软开发.net是失败

现在我是用C + SDK,其实在Windows下编程都是在微软封装好的类库(WIN API)上做东西。不论是C、C++、VC、VB、还是PB、DELPHI都能找到WIN API的影子。学了那么久C/C++,就没能弄明白最基本的MessageBox()这个函数是怎么实现的(谁能知道它用C语言如何实现呢?)。在C/C++中调用WIN API与在VB中调用它们有什么区别呢?还不是要比谁对它们了解得多,用

箫声清阳的空间 489

Delphi 12.3下UniDAC 10.3.0源码编译与集成实战

数据库访问组件是Delphi开发者构建企业应用的核心工具。UniDAC作为一款通用数据访问组件,通过统一API屏蔽Oracle、SQL Server、MySQL等数据库差异,显著降低多数据库项目维护成本。其源码版提供完整Pascal代码,允许开发者自定义连接逻辑、跟踪SQL执行细节,甚至优化底层数据缓存策略,满足深度集成与性能调优需求。在Delphi 12.3环境下,源码级编译可充分利用现代编译器优势,结合64位支持和高DPI适配,打造更高效的数据库开发环境。从源码包解压、依赖编译到IDE集成,系统阐述Un

weixin_33884611的博客 678

DevExpress VCL 14.1.3在Delphi老项目中的安装配置实战

在长期演进的业务系统中,基于Delphi的桌面应用仍占据重要地位,而VCL组件库则是这类项目高效开发的基石。DevExpress VCL作为业界成熟的界面控件套件,其版本与编译器的兼容性直接影响老项目的可维护性。14.1.3版本因其同时覆盖Delphi 7至XE7的多代编译器,成为连接新旧IDE的黄金选择。安装配置过程涉及库路径、BPL包注册、DCU冲突等关键技术点,掌握这些原理能显著降低环境搭建风险。对于维护老系统的开发者和技术决策者,合理选择组件库版本并规范安装流程,不仅能保障系统稳定,还可提升团队协作

weixin_33617691的博客 298

对主流技术的分析和总结

一、引言 1我为什么要写这篇文章 1我的故事 2要涉及的话题 3二、正文 32.1 程序设计语言 32.2 桌面应用程序框架 52.3企业应用程序框架 62.4 COM技术 7结论 9闲话 10给入门程序员的建议 10印度的软件业 11附录 11对主流技术的分析和总结myemail: bjhua@etang.com一、引言我为什么要写这篇文章 首先,我要限定我文章的范围,我讨论的问题局限于

bjhua的专栏 1201

FastReport 5.6.2 报表开发实战:从入门到踩坑排查指南

在企业管理系统中,报表模块始终是数据价值呈现的核心载体。报表设计器作为连接数据与页面的可视化工具,决定了开发效率与交付质量。FastReport 作为 Delphi 生态中应用广泛的第三方报表控件,凭借灵活的模板机制、丰富的数据绑定方式以及稳定的打印导出能力,成为众多存量项目的首选。理解其“模板 + 数据”的运作原理,掌握主从报表、分组汇总、动态传参等核心功能,能够帮助开发者应对订单、统计、台账等典型业务场景。本文基于 FastReport 5.6.2 实际工程经验,梳理环境搭建、设计器操作、代码交互和常见

weixin_33858485的博客 389

[摘]我很理解大家跟着MS(微软)的苦衷

为什么80%的码农都做不了架构师?>>> ...

weixin_33905756的博客 150

关于visual c++6.0【完待续】

 Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.

夏日向日葵的专栏 1298

判断用户登录

       连着写了2篇算法的文章后,我一兄弟竟跟我说看不懂,NND真是让我太失望了,真不知道他学了什么东西,昨天晚上和他聊了下时下热门的开发语言以及热门的行业,还有陈赢师兄昨天对我的一点指点(他很不错哦,现在在杭州大显科技,说工作很轻松,呵呵替他高兴,同时也很羡慕他,真想自己也能快点毕业,我的杭州星际网络啊~~~~~  呵呵)前段时间一直在弄delphi 的 不是说delphi不好或怎么样,一

yale28的技术专栏 3179

学习VISUAL C++的经验

学习VC已经差不多有一年的时间了,现在觉得自己终于有了一点的进步,算是入门了。经常听到有人说vc太难学而放弃转到c#或者DELPHI上,但我认为还是那句话“学会了就不难了!”,如果想做一个出色的程序员就不要因为一点的困难而放弃。学习各种编程语言都有不同的方法,当你学习vc一段时间后,你就会发现其实和学习c#和DELPHI一样容易。很多人放弃学习vc是因为被MFC的复杂的架构和那些无法理解的MF

benbenpear的专栏 1669

C# IOCP完成端口实现高性能Socket并发服务器:原理、架构与压测实战

在物联网、游戏服务器与消息推送等高并发场景中,传统Socket编程常因线程开销和上下文切换而性能骤降。完成端口(IOCP)作为Windows内核级异步I/O机制,通过将Socket句柄绑定至完成端口对象,由少量工作线程处理I/O完成通知,从根本上解决了大规模连接下的资源瓶颈。C#开发者借助SocketAsyncEventArgs和对象池复用技术,能够进一步降低GC压力,实现可控的收发状态机与可靠的数据边界处理。这类架构在物联网网关、IM服务等场景中具备极高的工程价值。本文以一套完整的C# IOCP服务器客户

weixin_33585822的博客 244

明华汉澳DP-R123读卡器开发包详解:从串口通信到M1卡读写实战

在门禁、考勤、会员储值等场景中,非接触式IC卡读写器是连接物理世界与业务系统的关键设备。其底层通信常基于串口协议,通过USB虚拟串口与上位机交互。理解串口通信原理,包括波特率、数据位、校验位以及指令帧结构,是进行二次开发的基础。厂商提供的开发包通常封装了动态库与演示程序,能帮助开发者快速掌握寻卡、防冲突、选卡、认证及读写块等完整流程,从而高效实现卡号读取、扇区数据写入等核心功能。无论是使用C#调用DLL,还是直接通过串口指令交互,掌握这些通用技术都能极大提升集成效率。本文以明华汉澳DP-R123-U-SB2

weixin_30342363的博客 317
上一篇: 避免二次运行(B2)、任务计划、AutoClose
下一篇: [Lgz].ACDSee5+QQ2005=截屏抓图最佳组合
ACDSeeQ
博客等级 码龄21年 10粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值