关于编译和调试!很奇怪的问题!(100分)

  • 主题发起人 主题发起人 SuperJS
  • 开始时间 开始时间
S

SuperJS

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟初学delphi6,发现一个文件用FileOpen+共享只读可以打开,
但AssignFile+Reset却不行,所以小弟想看Reset的源函数,Reset的
定义是在System中的,但是我却只找到_ResetFile这个函数,我不知道是不是,
我先试了一下,他也是用Api的OpenFile来打开文件的,所以我想是不是可以改写
这个函数,让他可以用共享只读的方式打开文件。我改了一下参数,没有效果,
我在system中增加断点后也不会进入,所以我想问的是,是不是我找错了源函数,
还是在system中加断点根本就不会有效,请告之。
谢谢!!!!!!!!
另外我发现delphi6的一处错误!各位请看:
{$IFDEF MSWINDOWS}
const
; ShareTab: array [0..7] of Integer =
; ; (FILE_SHARE_READ OR FILE_SHARE_WRITE, ;// OF_SHARE_COMPAT ; ; 0x00000000
; ; ;0, ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;// OF_SHARE_EXCLUSIVE ;0x00000010
; ; ;FILE_SHARE_READ, ;出错处 ; ; ; ; ; ; ;// OF_SHARE_DENY_WRITE 0x00000020
; ; ;FILE_SHARE_WRITE, ; ; ; ; ; ; ; ; ; ; // OF_SHARE_DENY_READ ;0x00000030
; ; ;FILE_SHARE_READ OR FILE_SHARE_WRITE, ;// OF_SHARE_DENY_NONE ;0x00000040
; ; ;0,0,0);

出错的地方的定义和说明对不起来,到底那个是正确的呢!
 
忘了说了,出错的地方也是在system模块中的!
 
小弟见识浅薄请别见笑!
 
为什么没有人啊 !
各位大侠快来啊!!!!
 
为什么没有人啊!???
 
还是在system中加断点根本就不会有效,当然不会有效
 
那我对system中的代码作过的修改是不是也没有效呢!!!
 
当然,你需要重新编译安装
但是,不建议你修改系统自带的文件
 
那么如何编译安装呢!谢谢!!!!
 
确定你的Compiler选项的Use Debug DCUS选中;就可以跟进去了。
 
注意System单元是特殊的单元,修改无效的,转载的时候是用obj文件的
其他单位都可以修改,跟踪
 
那是否能够重载呢??
 
高难度!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
为什么还是没有人关注呢!!!!
 
你可以将System 单元另存在你自己的目录下,这样修改之后编译就可以了,DELPHI 的目录下的文件是不会编译的。这是为了提高编译速度。
 
但是 use这里怎么写呢!
会不会有冲突啊!
我去试一下,如果真的可以马上给分!
 
Use 不用管,你将System置于当前编辑单元,然后在菜单里选择另存为就可以了,不过我不知道
Delphi6 如何,这是Delphi5 的经验。
 
我是说在我的程序中要使用修改过的system中的函数,是不是需要把system改一个名字呢!
否则和系统自己加上的system怎么区别呢!
 
不需要,自己的文件比系统的优先,找到之后就不再查找系统默认的,如果不可以,你就不要给我分了。
 
楼上说得是对的
 
后退
顶部