delphi大神请看,来个非常非常诡异的问题! 同样的源码,2个人编译出来的文件大小一样,一个能正常,一个不能用!delphi版本一模一样,安装的控件也一模一样!所以,我们两人是折腾了几天了,无法解决,请大神给点思路! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 补充:我们用的操作系统都是win1064位,为了这个问题,系统做了不下5遍,换了N个操作系统版本,delphi也安装了无数次,包括控件!其他程序都是一样的,都正常,就一个人物网关,他编译的能正常登陆,我编译的就断开!非常诡异的事情,我们也算是非常熟悉D的人了。。竟然第一次遇到这样的事情。。求解! 我前段时间发过一个帖子,台式机编译运行一切正常,就是在神船的新笔记本上,编译后,运行一场,主要是窗体显示异常,也同时发给坛友运行也正常,就是在神船笔记本上异常,都解决不了。远离神船,珍爱生命!我一直怀疑,硬件和这个有关,比如CPU缺陷,可惜没有什么证据。 把两台电脑编译的exe文件二进制比较看有无字节不同,必须同一个项目文件,同一个版本delphi。估计是运行环境问题。 编译没问题的exe,发给你在你电脑运行正常不? 编译的exe在我自己电脑和服务器都测试过,我编译的都不能用,编译没问题的,都可以用,所以说太诡异了,编译的汇编文件我用文本对比器对比过,指令都相同,除了几个地方的注释显示不同,继续求解中 windows 10 的话是这样,我原来有个程序 运行一切正常,后来 windows 10 更新了有不行了,后来发现是 sqlite3.dll 版本的问题 编译的exe在我自己电脑和服务器都测试过,我编译的都不能用,编译没问题的,都可以用,所以说太诡异了,编译的汇编文件我用文本对比器对比过,指令都相同,除了几个地方的注释显示不同,继续求解中编译出来的还有注释?二进制比较可以用fc命令:——————比较两个文件或两个文件集并显示它们之间的不同FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn] [drive1:][path1]filename1 [drive2:][path2]filename2FC /B [drive1:][path1]filename1 [drive2:][path2]filename2 /A 只显示每个不同处的第一行和最后一行。 /B 执行二进制比较。 /C 不分大小写。 /L 将文件作为 ASCII 文字比较。 /LBn 将连续不匹配的最大值设置为指定 的行数。 /N 在 ASCII 比较上显示行数。 /OFF[LINE] 不要跳过带有脱机属性集的文件。 /T 不要将制表符扩充到空格。 /U 将文件作为 UNICODE 文本文件比较。 /W 为了比较而压缩空白(制表符和空格)。 /nnnn 指定不匹配处后必须连续 匹配的行数。 [drive1:][path1]filename1 指定要比较的第一个文件或第一个文件集。 [drive2:][path2]filename2 指定要比较的第二个文件或第二个文件集。 编译的exe在我自己电脑和服务器都测试过,我编译的都不能用,编译没问题的,都可以用,所以说太诡异了,编译的汇编文件我用文本对比器对比过,指令都相同,除了几个地方的注释显示不同,继续求解中编译出来的还有注释?二进制比较可以用fc命令:——————比较两个文件或两个文件集并显示它们之间的不同FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn] [drive1:][path1]filename1 [drive2:][path2]filename2FC /B [drive1:][path1]filename1 [drive2:][path2]filename2 /A 只显示每个不同处的第一行和最后一行。 /B 执行二进制比较。 /C 不分大小写。 /L 将文件作为 ASCII 文字比较。 /LBn 将连续不匹配的最大值设置为指定 的行数。 /N 在 ASCII 比较上显示行数。 /OFF[LINE] 不要跳过带有脱机属性集的文件。 /T 不要将制表符扩充到空格。 /U 将文件作为 UNICODE 文本文件比较。 /W 为了比较而压缩空白(制表符和空格)。 /nnnn 指定不匹配处后必须连续 匹配的行数。 [drive1:][path1]filename1 指定要比较的第一个文件或第一个文件集。 [drive2:][path2]filename2 指定要比较的第二个文件或第二个文件集。我用UE打开2个文件做了比较了。。确实很多地方不一样,满篇都是红色的提示,,纠结。。一样的源码。一样的DELPHI版本,,不知道为什么会这样。 可能Project——Options设置不同。 解决问题的方法很简单,就Debug跟踪一下,看看是具体那个地方出问题,然后在找出产生问题的原因就可以了。整天都在瞎猜问题的原因,基本上解决不了问题。 debug跟踪能定位代码行的,基本都能解决,关键是现在的调试错误时,直接进入汇编界面,我勒个去啊,天书看不懂啊,哈哈 上一个帖子满三贴不能发言了,正好这个可以参考:使用XLSReadWriteII还有一个奇怪的问题:家里的机子和单位的机子安装的软件版本都一致,在家里使用 autowidthcol(acol,aminwidth,amaxwidth)正常,到了单位显示异常,只能使用autowidthcol(acol)。家里机子编译好的可以在单位机子上运行,单位机子上再编译提示参数不对。我对比了一下,delphi、XLSReadWriteII版本一致,只是系统家里是win10、64位,单位是win7、32位,难道和系统支持的bit有关系?楼主参考。 不同的编译选项,能编译出相同大小的exe问题,这样应该是很凑巧的事了。 不同的编译选项,能编译出相同大小的exe文件,这样应该是很凑巧的事了。 不凑巧,PE文件有结构对齐,一般文件对齐是512字节,虽然链接时可以修改对齐大小,比如ms的link有/align选项,但是在win64中对齐尺寸小于512字节的exe无法运行,win32中对齐尺寸可以小到16字节。 我有文件备份的习惯,有时候一个代码增改了几行代码再编译,备份到U盘,发现exe大小没变。 系统反复做了7 8次,32位 64位,WIN10 WIN7 各种折腾,控件各种安装,,,,今天。又做了一次系统。WN1064为专业版,,编译之后一切正常了。。百思不得其解啊。。总之。问题已经解决啦。多谢各位大神的热情回复!谢谢大家!祝好运常伴~ 有一种可能叫做你的鸡子上了DELPHI官方的黑名单了。可考虑下,断网编译,软件是别人的,又用的是D版,什么都有可能。 还有一种可能就是硬件问题,特别是内存条,如有条件换一条内存条试试,其实如果上了DELPHI官方黑名单,官方也是根据硬件来识别的内存条质量不好,一切都白搞 请问有朋友做过DBGRIDEH的单元格录入,从下拉网格中选记录? 求Delphi控制word表格复制问题 有关ado的问题!!! 特级,我使用 shift + del 删除了一个目录,和一个 winrar 压缩的文件,使用什么工具找回来 Query的append方法能不能用? 请教一下大家 在线等 ■还是关于D6的InstallShield■还是200分希望只给一个人■ 我的菜单要实现如此效果该怎么做??? 紧急求救,在线等待两小时,解决马上加分。 有分割BMP的控件或原代码吗?500分 delphi10、 内网、外网双服务器 、sql sever 如何去掉错误提示
远离神船,珍爱生命!
我一直怀疑,硬件和这个有关,比如CPU缺陷,可惜没有什么证据。
二进制比较可以用fc命令:
——————
比较两个文件或两个文件集并显示它们之间
的不同
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]
[drive1:][path1]filename1 [drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2 /A 只显示每个不同处的第一行和最后一行。
/B 执行二进制比较。
/C 不分大小写。
/L 将文件作为 ASCII 文字比较。
/LBn 将连续不匹配的最大值设置为指定
的行数。
/N 在 ASCII 比较上显示行数。
/OFF[LINE] 不要跳过带有脱机属性集的文件。
/T 不要将制表符扩充到空格。
/U 将文件作为 UNICODE 文本文件比较。
/W 为了比较而压缩空白(制表符和空格)。
/nnnn 指定不匹配处后必须连续
匹配的行数。
[drive1:][path1]filename1
指定要比较的第一个文件或第一个文件集。
[drive2:][path2]filename2
指定要比较的第二个文件或第二个文件集。
二进制比较可以用fc命令:
——————
比较两个文件或两个文件集并显示它们之间
的不同
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]
[drive1:][path1]filename1 [drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2 /A 只显示每个不同处的第一行和最后一行。
/B 执行二进制比较。
/C 不分大小写。
/L 将文件作为 ASCII 文字比较。
/LBn 将连续不匹配的最大值设置为指定
的行数。
/N 在 ASCII 比较上显示行数。
/OFF[LINE] 不要跳过带有脱机属性集的文件。
/T 不要将制表符扩充到空格。
/U 将文件作为 UNICODE 文本文件比较。
/W 为了比较而压缩空白(制表符和空格)。
/nnnn 指定不匹配处后必须连续
匹配的行数。
[drive1:][path1]filename1
指定要比较的第一个文件或第一个文件集。
[drive2:][path2]filename2
指定要比较的第二个文件或第二个文件集。
我用UE打开2个文件做了比较了。。确实很多地方不一样,满篇都是红色的提示,,纠结。。一样的源码。一样的DELPHI版本,,不知道为什么会这样。
使用XLSReadWriteII还有一个奇怪的问题:家里的机子和单位的机子安装的软件版本都一致,在家里使用 autowidthcol(acol,aminwidth,amaxwidth)正常,到了单位显示异常,只能使用autowidthcol(acol)。家里机子编译好的可以在单位机子上运行,单位机子上再编译提示参数不对。
我对比了一下,delphi、XLSReadWriteII版本一致,只是系统家里是win10、64位,单位是win7、32位,难道和系统支持的bit有关系?
楼主参考。
我有文件备份的习惯,有时候一个代码增改了几行代码再编译,备份到U盘,发现exe大小没变。
内存条质量不好,一切都白搞