首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Delphi"with"关键字是一种不好的做法吗?

"Delphi"with"关键字是一种不好的做法吗?

Delphi 是一种面向对象的编程语言,它被广泛用于开发 Windows 应用程序和组件。在 Delphi 中,"with" 关键字用于创建对象实例,以便在程序中进行操作。然而,"with" 关键字的使用有一些缺点,以下是一些常见的问题:

  1. 难以理解的语法:使用 "with" 关键字可能会使代码难以阅读和理解,尤其是当涉及到复杂的对象创建和操作时。
  2. 内存管理问题:使用 "with" 关键字可能会导致内存泄漏或野指针问题,因为一旦对象的生命周期结束,其引用可能会被保留下来,导致程序崩溃或数据错误。
  3. 性能问题:使用 "with" 关键字可能会导致程序的性能下降,因为每次使用 "with" 时,编译器都需要创建新的对象实例,这可能会增加程序的运行时间和内存占用。

因此,虽然 "with" 关键字在 Delphi 中是合法的,但许多开发人员认为它是一种不好的做法,并且应该尽量避免使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java一种纯面向对象语言

在Java世界内一切都是对象,甚至包括字符串(String)这些都是对象(在 C 语言中,字符串字符数组),那时候,我认为 Java一种面向对象语言。...参考译文: Class类实例表示正在运行Java应用程序类和接口。像枚举一种类和注解则是一种接口。每个数组也属于被反射作为由具有相同元素类型和尺寸数目的所有阵列共享一类对象类。...原始Java类型(boolean, byte, char, short, int, long, float, and double)和关键字void也表示为Class对象。...一共有9种设定好Class对象来表示对应基本类型和void关键字。这些对象都是由JVM创建。...当你打开 Javadoc 对 Class 类定义中,通过 “CTRL+F ” 查找关键字 “primitive”, 将会发现证据在表面 “在JVM里,它把基本类型当作对象来处理”。

96900

Python中==与is关键字一样

标签:Python 双等号==运算符和is关键字Python中比较对象常用语句,本文将通过几个例子了解它们之间区别。...图2 is关键字 is关键字通过匹配两个或多个对象内存位置来比较它们身份。即使两个对象包含相同项,如果对象不指向相同内存位置,is关键字也将返回False。...下面的脚本使用is关键字比较car1和car3列表。回想一下,这两个列表包含相同项。...通过将对象传递给id()方法,可以检查对象内存位置。下面的脚本打印car1和car3列表内存位置。 图4 图4中输出显示,列表对象内存位置确实不同。...现在,使用is关键字再次比较car1和car3列表。 图6 小结 双等号==运算符匹配相等,并比较两个对象值,而不考虑它们内存位置。而is关键字通过比较对象内存位置来匹配对象标识。

89730

lstmrnn中一种_经验公式是什么

(Recurrent Neural Network) 今天我这里讲到RNN主要是上图这种结构,即是Hidden Layer会有连向下一时间Hidden Layer边,还有一种结构Bidirectional...,也就是忘事儿,这也是NN在很长一段时间内不得志原因,网络一深就没法训练了,深度学习那一套东西暂且不表,RNN解决这个问题用到就叫LSTM,简单来说就是你不是忘事儿?...与其说LSTM一种RNN结构,倒不如说LSTMRNN一个魔改组件,把上面看到网络中小圆圈换成LSTMblock,就是所谓LSTM了。那它block长什么样子呢?...,算一算东西 Forget Gate:不是要记东西,咋还要Forget呢。...这个没找到为啥就要加入这样一个东西,因为原始LSTM在这个位置就是一个值1,连接到下一时间那个参数,估计是以前事情记太牢了,最近就不住就不好了,所以要选择性遗忘一些东西。

53010

SDN交换机一种新型防火墙?

软件定义网络由这个概念发展而来:将较低层数据包/帧转发功能与智能化决定如何传送应用程序流量控制功能分离开来。...乍一看,这听起来就像是一种出色新型安全技术,似乎SDN交换机上每一个端口运行起来都如同防火墙。...网络切分在大学里面一种常见使用场合,因为大学希望将不同部门(招生部、财务科、宿室楼和计算机科学系等)划分成自成一体逻辑网络区域。...NSX分布式防火墙一种内核可装入模块,提供了带状态功能第2层/第3层/第4层双协议防火墙机制,能够执行反欺诈。VMware NSX防火墙策略运行起来如同拥有自反ACL思科路由器。...询问厂商其SDN解决方案中防火墙带状态功能方面的细节,并且明白它们如何运行,这点很要紧。

1.4K40

bscs一种_cs客户端和bs客户端

一,B/S结构WEB兴起后一种网络结构模式,WEB浏览器客户端最主要应用软件。...比C/S有更高要求 B/S结构程序架构发展趋势,从MS.Net系列BizTalk 2000 Exchange 2000等,全面支持网络构件搭建系统。...4.软件重用不同: C/S 程序可以不可避免整体性考虑, 构件重用性不如在B/S要求下构件重用性好。...B/S 多重结构,要求构件相对独立功能, 能够相对较好重用,就如买来餐桌可以再利用,而不是做在墙上石头桌子。...5.系统维护不同: C/S 程序由于整体性,必须整体考察,处理出现问题以及系统升级、升级难、 可能再做一个全新系统。B/S 构件组成,方便构件个别的更换,实现系统无缝升级.

867140

spring boot thymeleaf真的那么随便就可以用?弄不好你就会遇到很头疼

spring boot 默认推荐使用模板引擎thymeleaf而非JSP。网上很多都是告诉你,怎么快速访问到thymeleaf,但是真的就那么简单? 你或许会遇到如下问题: ?...信息实说,在aa.html中第6行第三列出错了。 现在我们回到aa.html中查看第6行第3列: ? 我们发现,就只是head标签。这个html页面直接访问不会报错。...spring.thymeleaf.mode = LEGACYHTML5 spring.thymeleaf.mode默认值HTML5,其实是一个很严格检查,改为LEGACYHTML5可以得到一个可能更友好亲切格式要求...需要注意,LEGACYHTML5需要搭配一个额外库NekoHTML才可用。...以下凯哥配置文件信息: ?

1.4K20

Delphi 语言「建议收藏」

年轻开发人员基本上不进入Delphi,大家都知道Delphi一个没落工具,学了也不好找工作,干脆不进来。所以,到目前,Delphi开发者基本上老司机。...2、XE对Windows开发支持不好Delphi XE最新版本取向来看,Embarcadero似乎更专注于移动开发,最新版本还想走向Linux,而放弃对Windows支持。...另外,Delphi写Android、IOS和Linux不就是为老司机们准备,新司机谁他娘还用Delphi这破东西呢,何况Android、IOS和Linux下本身就有很多开发工具都是开源免费,又正宗又原生态...据说有人打电话到Delphi(Embarcadero)代理商询价,代理商基本上支支吾吾,不报价,然后第二天就有Delphi公司的人打电话过来,说你用了Delphi盗版,让人非常气愤、哭笑不得,感觉非常不好...他们那么坚守Delphi,一定愿意买Delphi正版,支持Delphi一下,无奈那帮卖Delphi的人这么折腾,实在一种折磨。Embarcadero在它产品版权上看得很紧,但依然控制不住盗版。

2.1K20

人工智能产生幻觉问题真的能被看作创造力一种表现形式?

一.幻觉问题概念 人工智能幻觉问题指其在没有充分训练数据支持情况下自信地做出响应。这种响应可能由于数据不完备、存在偏见或过于专业化等因素导致。...外在幻觉难以被轻易识别,因为虽然生成内容可能虚假,但模型可以以逻辑连贯、有条理方式呈现,使人们很难怀疑其真实性。 就比如我想AI提问,刘翔在那一年获得了乒乓球冠军?...不幸,这加剧了人们对大型语言模型工作原理误解,而这种误解往往会在一项技术变得安全或危险时产生区别。...二.幻觉产生原因 研究人员将AI幻觉归因于高维统计现象和训练数据不足等因素。一些人认为,被归类为“幻觉”特定“不正确”AI反应可能由训练数据证明合理。...模型推理后处理方面:使用外部知识库辅助推理,或利用后处理技术修改模型输出结果,使输出更符合人类偏好。 访问实时信息:一种可能解决方案让人工智能系统能够访问来自互联网实时信息。

11910

以数据为中心和模型为中心AI贝叶斯论和频率论一种变体

在贝叶斯方法中,我们寻找概率p(model|data),即我们“假设”模型,“知道”数据。我们模型不确定,而数据我们基本事实——我们所知道唯一确定就是手头上数据。...但这里有一个很大问题:归纳偏差(不管它是否有用)仍然一种偏差。 当选择一个特定架构时,也限制了从数据中学到东西。...研究人员观察到一件重要事情,添加数据越多所需归纳偏差就越少。例如,对试图学习领域,transformer只需要很小归纳偏差,但是却需要更大数据(还记得VIT)。...例如一个项目经过一周更改之后,终于看到了改进效果。但你应该把它归因于什么呢?是因为清理数据工作?还是因为在模型架构上工作?两者结合?你还是只能猜测。...而且当看不到改进时,情况甚至更加困难:应该放弃该架构?更换数据处理方法?还是你不应该把它们放在一起同时使用?

36310

又见Pascal

今天在逛一个上古论坛(Delphi盒子)时候看了下下面的友链,发现一个星五博客 ,点进去看了一下,第一篇文章基于pascal网站开发。点击去溜达了一圈发现是一个国内公司做。...上次用Pascal语言开发,还是在刚买车时候为了折腾导航。14年左右,那时候导航还多是win ce系统,为了搞一机多图。逛各种论坛,下载各种程序,但是效果并不好。...至于为什么用pascal,那是因为上大学时候就对pascal一见钟情,当其他语言入门教程都是在编写命令行工具时候,那时候delphi 7hello world竟然带gui界面的,于是瞬间就被征服了...起因这样,做为一个Delphi开发人员,web开发总是我弱项,而花费巨大 精力去重新学习其它语言,成本相对较高,也没法及时解决手头上项目,当然,学还是要学,但一下子把 web前端和web...不过有的时候会发现,学一门新语言也没那么复杂。想当初都搞汇编开发,还怕各种语言学习

59120

那些年遇到后台返回奇葩json数据

这是在挑战我智商? (建议:下次遇到这样,直接揍一顿,就说是我说。下面这张图送给你们后台吧。) image.png 2.key数字,value也是数字,你当我小学生呢?...返回json里面某些字段java关键字 问题:json里面某些字段java关键字,转成实体类时候,会报错。...java关键字。...所以 奉劝各位后台新手不要心存侥幸心理,一切都要按规范来做,这样对你今后开发会有很多帮助。 12. 返回相同字段用不同数据类型,这个最苦逼,解析都不好处理。...后台跟前端或者客户端交互都要靠接口,接口写不好,还谈什么交互? 所以,能写出好接口的人,至少有一点可以看出来,基础比较扎实。 2.它是代码规范素养一种体现。

1.9K40

重温Delphi之:面向对象

任何一门语言,只要具备了"封装,继承,多态"这三项基本能力,不管其实现方式直接或曲折、复杂或简洁,就可以称之为“面向对象”语言。 Delphi当年迅速走红,是以其RAD快速开发吸引程序员目光。...这无疑是它最吸引人优势,但同时也让人误以为delphi只是vb高级版本,从而忽视了其面向对象特性。...其实Pacscal发展到Delphi,已经完全具备了面向对象所有特点:允许自定义类,类可以继承(单继承),允许方法重载/覆写,可以定义接口,类可以实现接口,允许定义静态方法(即class方法),虚方法...,抽象类...等等,对于delphi怀有偏见朋友,你还会怀疑delphi面向对象能力?...procedure ShowName;overload; //如果Class从TObject继承,又想实现接口的话,必须实现下面这三个function, //如果想偷懒的话,把UPeople

69560

【iOS 开发】NSError ** 与 throws 三个问题

error 再获取这个错误值,来看这个过程中有没有什么错误,那么通过 error == nil 不就可以知道是否执行成功,为什么需要 BOOL 返回值,这是一个冗余设计?...赋值,使用了双指针设计,即 NSError *__autoreleasing*,这种做法在 Swift 语言中,变成了 inout 关键字: func swapTwoInts(_ a: inout Int..., error: inout NSError) -> Bool // 臆想版本 理论上或许可行,但是这里我臆想出这个版本,和 OC 中这个方法设计,都是不好设计:为了方便,很多时候开发者会对 error...由于 try catch 一种同步语法,在异步时候,我们还是只能通过 Error 或者 NSError 来判断执行是否成功。...一种更好做法其实是封装枚举,像这样: enum JSONError: Error { case noSuchKey(String) case typeMismatch } 对于这种做法可以参考

1.9K20

Delphi中利用SEH屏蔽退出时Runtime Error

Delphi程序,如果在单元finalization里出现了一些异常操作会导致退出时抛出Runtime Error ,规范处理办法当然解决这些异常,但是有些特殊情况下,比如用了很多第三方控件...做法其实很简单,就是在 END.之前手工调用Halt释放,并且将Halt抛出错误屏蔽掉,这样做和正常DELPHI释放过程没有任何区别,因为End.编译后其实就是一句话 Call Halt0,只是VCL...然后就是如何屏蔽错误问题了,第一个最容易想到做法就是直接 Try  halt except end;   但是这样不行,因为try…except end捕获错误都会放到System单元_HandleOnException...中处理,函数检查错误类型是否DelphiException,如果不是就不处理,这个时候就会被DELPHI顶层异常机制捕获,并抛出Runtime error,halt里抛出来错误恰恰就是非DelphiException...,不会对DELPHI正常释放过程产生影响,所有的释放操作都是和VCL一致,只是不会把错误显示出来。

85940

Delphi 程序中文乱码

两天在编译一个好玩东东,并且很蛋疼翻译了一个中文语言包(其实使用Google 翻译滴。)但是加载之后却发现有乱码。...好蛋疼咧: 错误地方就是左侧列表栏ListView控件,和右侧那个ListView控件(这个现在修复过了)。刚开始是以为字符编码问题,但是调试时候在内存中看到东西 也确实是中文。...到网上搜索了下没发现什么有用东东,后来看到有人说修改控件字体才恍然大悟。 这个东西字体西欧字体(西欧的人写?...---- 分享文章: 相关文章: Delphi Tips Explorer 2007 v3.0 Interactive Delphi Reconstructor 2.5.3 Beta Embarcadero.Delphi.XE2...Delphi 关键字详解 Delphi 7 优化精简全功能版 v7.3 Delphi 记事本【有码有真相】 C/C++/Delphi 调用命令并且显示执行结果

2.1K30

从 12 岁开始,他用 25 年时间掌握了 30 门编程语言……

一种易学、易懂、易于掌握结构化程序设计语言)。...我在 Web 开发中使用第一套服务器端代码,在 IIS 上用 VB6 和 Microsoft ASP 编写。由于在当时这是一种昂贵技术,所以我挑战自学 PHP。...虽然第二门语言不像第一门语言那么难学,因为你已经知道了数据类型和编程基础知识,但它学习曲线还是很陡峭——尤其,当时我只有 17 岁。 你可能会问:我之前不是提到过 JavaScript ?...有两件事对我来说是行不通:一全身心扎进去,比如边走边学,二一开始就只读理论书籍。我从过去到现在都是一个自学者,对我个人来说,最好做法将实际应用和理论相结合。...编程应该是一件有趣事情,如果你觉得它不好玩,那就换个方式来学,可以尝试不同领域(如系统应用而非网络应用)或不同问题来解决挑战(如技术挑战而非算法挑战)。

17110

精:C#历来版本特性一览

,同时又很有 Delphi 味,简直梦幻开局。...看看这些金光闪闪特性吧: 泛型 分部类型【partial 关键字】 匿名方法【利用 delegate 运算符】 可为空值类型【Nullable 或 T?...“Null 条件运算符”、“字符串内插”、“nameof 表达式”我比较喜欢特性。 静态导入【using static 指令命名了一种类型,无需指定类型名称即可访问其静态成员和嵌套类型。】...特性列了一大篇,实在没法看了,下面就没有一一列举,脚本语言味儿越来越重,各种操作符、关键字更是玩出花来,心智负担越发沉重了。除了模式匹配,别的特性完全不想碰。...它是面向 .NET 5 版本任何程序集默认语言版本。对于既存特性进行了梳理与调整,然后引入了一大堆新特性,这是有 KPI 压力?老特性千万别给我搞没了,新特性我也保证不碰,咱们心照不宣吧。

14220

博客目录及索引,欢迎指导交流

一转眼发现博客里积累了不少文章,特别是这两年开始发现写博客也是一种提升自己技术能力方法。这就和写代码一样,因为会让大脑思考,时间长了就会留下记忆。所以很多高手都是通过这样不断重复训练来。...你会带团队?》...组件(Component)开发 Openfire阶段实践总结 技术笔记:XMPP之openfire+spark+smack XMPP协议之消息回执解决方案 delphi相关 技术笔记:Indy IdSMTP...支持腾讯QQ邮箱邮件发送 技术笔记:IndyTIdSMTP改造,解决发送Html和主题截断问题 技术笔记:Delphi多线程应用读写锁 技术笔记:Indy控件发送邮件 学习笔记:7z在delphi应用...学习笔记 :DrawText 学习笔记:delphi之TStringGrid 学习笔记: Delphi之线程类TThread 学习笔记:delphi多线程知识 WEB开发相关 Http状态码之:301

1.7K90

上传聊天记录「克隆」自己,这家初创公司让《黑镜》第一集走进现实

新智元报道 编辑:Cyber 【新智元导读】如果上传自己聊天记录和语音文件,就能「克隆」一个真实自己,你愿意?...在十年前首播美剧《黑镜》中,第一集剧名《马上回来》,故事讲述了女主男友不幸因车祸去世,在葬礼上,她朋友告诉她,有个软件能收集一个人生前所有信息,从而模拟出他生前几乎完美的对话功能。...此外,Delphi还尝试在用户AI克隆中重新创建其大脑独特思维过程,使AI克隆在某种程度上能够提供它认为用户对给定提示响应。...对此,拉杰瓦尔迪安和Delphi员工坚信,这种服务有市场,他表示:「我们专注于帮助教练、创造者、专家、政治家、首席执行官等人群扩大自己影响力,并让自己为他人所用。」...当然,拉杰瓦尔迪安也克隆了自己,甚至与他克隆人进行了音频对话。他表示,「我给自己打电话,自言自语了 10 分钟,这有一种奇怪治疗作用。」

15130
领券