| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2292 人关注过本帖, 1 人收藏
标题:乱世中的类,是用 vcx 与 prg ?
只看楼主 加入收藏
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:747
专家分:1114
注 册:2021-10-13
收藏
得分:3 
感觉初学者只把代码写在form里面,高手写在vcx里面供使用者,重复调用,大侠喜欢写prg。。。

[此贴子已经被作者于2023-3-27 19:55编辑过]

2023-03-26 19:29
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:647
专家分:2490
注 册:2018-3-13
收藏
得分:3 
以下是引用cssnet在2023-3-26 17:53:06的发言:
站在“破解者”的角度,当然乐意面对的是纯prg程序,而非vcx类库。

两者没区别,一个是独立的 prg/fxp,vcx就是一个dbf,类方法的 prg/fxp 就在 Methods/Objcode 字段中
作为破解者,不可能连这点基础知识都不知

这家伙很懒,啥也没留下
2023-03-26 19:42
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:647
专家分:2490
注 册:2018-3-13
收藏
得分:0 
我的习惯是能用 vcx 的尽量用 vcx,除了楼主所说的好处外,有时候必须用 vcx 才能达到目的,甚至有些偏好者把不能用 vcx 设计的类也转成 vcx,楼主是老鸟,应该听说过 prg2vcx 之类的吧
前面所说的 COM/ActiveX 就是典型情况,而且一些 COM/ActiveX 还需要设计时授权才行,很多菜鸟都不明白为什么在自己的电脑上用 NewObject('') 实例化一个共用对话框没问题,在某些客户的电脑上就报错?通常为了简单起见老鸟都会告诉他搜一个叫 vb6controls.reg 的文件,下载双击导入注册表。把正版开发工具(假设哈)才有的设计时授权直接转移给用户,严格来说是违法的
正确做法是先在 vcx 中子类化一个共用对话框的 OLE 控件,假设取名 comdlg,代码中使用时用 NewObject('comdlg')即可,无论用户是否有设计时授权都可以正常创建这个对象。原因吗,我猜测是 vfp 把这些注册和授权信息保存在 vcx'ole 字段中了
楼主所说的智能提示确实是个问题,例如在自定义的 grid 成员类 header、column 中我们就添加了很多属性,由于它们都只能在 prg 中定义,智能提示没有相应的 descript 使用时确实很容易犯迷糊,目前也只能去翻看 prg 中的注释。vcx 中的 descript 是放在 Reserved3 字段中的,智能提示照道理也应该是从这取的,vfp 的这些工具源码都在 xsource.zip 中,希望有好事者能把这个 foxcode.prg 改改!

[此贴子已经被作者于2023-3-26 20:30编辑过]


这家伙很懒,啥也没留下
2023-03-26 20:28
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:347
专家分:326
注 册:2013-10-4
收藏
得分:0 
以下是引用csyx在2023-3-26 19:42:39的发言:
两者没区别,一个是独立的 prg/fxp,vcx就是一个dbf,类方法的 prg/fxp 就在 Methods/Objcode 字段中
作为破解者,不可能连这点基础知识都不知


有区别的,甚至有狠大区别。
试想,倘若Unfox出来只是一堆prg,那么代码调试起来,是相当方便的。
甚至可以考虑:
copy  *.prg  ..\allprg.prg
然后,只需将主程序移到allprg.prg的最前边,即可一览众山小,优雅地、不慌不忙地、毫无障碍地仔细调试那一只可怜的待宰羔羊了。
而vcx则未必有这种便利。想要好好地总览一下待破解的代码,至少需费上一点点周折吧。

2023-03-26 21:31
zhken
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:283
专家分:616
注 册:2012-9-21
收藏
得分:3 
回复 23楼 csyx
理解的不错
2023-03-26 21:32
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:647
专家分:2490
注 册:2018-3-13
收藏
得分:0 
以下是引用cssnet在2023-3-26 21:31:46的发言:
有区别的,甚至有狠大区别。
试想,倘若Unfox出来只是一堆prg,那么代码调试起来,是相当方便的。
甚至可以考虑:
copy  *.prg  ..\allprg.prg
然后,只需将主程序移到allprg.prg的最前边,即可一览众山小,优雅地、不慌不忙地、毫无障碍地仔细调试那一只可怜的待宰羔羊了。
而vcx则未必有这种便利。想要好好地总览一下待破解的代码,至少需费上一点点周折吧。

难道没用 class browser 导出过 vcx 吗?

这家伙很懒,啥也没留下
2023-03-26 22:16
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:347
专家分:326
注 册:2013-10-4
收藏
得分:0 
以下是引用csyx在2023-3-26 22:16:51的发言:
难道没用 class browser 导出过 vcx 吗?


我说的是:调试!运行!
class browser 导出的prg,其实未必能够正儿八经运行的。
2023-03-26 22:25
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:647
专家分:2490
注 册:2018-3-13
收藏
得分:0 
以下是引用cssnet在2023-3-26 22:25:14的发言:
我说的是:调试!运行!
class browser 导出的prg,其实未必能够正儿八经运行的。

正因为 vcx 拥有 prg 无法实现的功能,class browser 才无法做到用 prg 准确还原 vcx 的所有功能,因此,只有在像 main、不可视化类设计等不得已的情况下才使用 prg
我用 class browser 最主要的目的,就是导出一堆无用的 prg 给著作权申请使用

[此贴子已经被作者于2023-3-26 22:40编辑过]


这家伙很懒,啥也没留下
2023-03-26 22:38
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10559
专家分:42996
注 册:2014-5-20
收藏
得分:0 
不知有无发觉,写程序的到了一定境界时都有点固执,容易产生将一些统一体的各方面对立起来论长短。

2023-03-27 08:39
倦猫1973
Rank: 2
等 级:论坛游民
威 望:1
帖 子:68
专家分:28
注 册:2022-11-17
收藏
得分:0 
以下是引用吹水佬在2023-3-27 08:39:02的发言:

不知有无发觉,写程序的到了一定境界时都有点固执,容易产生将一些统一体的各方面对立起来论长短。



这便是本文也是本人的目的,不破不立。
2023-03-27 09:08
快速回复:乱世中的类,是用 vcx 与 prg ?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024714 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved