| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6649 人关注过本帖, 7 人收藏
标题:VFP封装结构类型示例
只看楼主 加入收藏
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10544
专家分:42958
注 册:2014-5-20
收藏
得分:0 
其实VFP写的ASM码也是用几个API来处理,调用VFP的COM接口运行VFP函数。难道win7与win10的ASM码指令或寻址方式有所不同。


2022-03-20 13:55
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:641
专家分:2476
注 册:2018-3-13
收藏(1)
得分:0 
有位前辈跟我说,不必浪费时间再造轮子。他老人家说 vfp2c32 中就有个函数叫 CreateCallbackFunc,这个 fll 可以到 github 上去搜索下载

这家伙很懒,啥也没留下
2022-03-20 23:46
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:347
专家分:326
注 册:2013-10-4
收藏
得分:0 
以下是引用csyx在2022-3-20 23:46:38的发言:

有位前辈跟我说,不必浪费时间再造轮子。他老人家说 vfp2c32 中就有个函数叫 CreateCallbackFunc,这个 fll 可以到 github 上去搜索下载


是哦!一语惊醒梦中人!先前我就想起来“结构类在vfp2c32当中有现成的实现”:
https://bbs.bccn.net/viewthread.php?tid=508544&page=1#pid2758712
结果光顾着吹水,搞忘了这茬啦!
冇计,人老啦,记性唔好啦!
哈哈哈哈。
2022-03-21 11:59
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10544
专家分:42958
注 册:2014-5-20
收藏
得分:0 
以下是引用csyx在2022-3-20 23:46:38的发言:

有位前辈跟我说,不必浪费时间再造轮子。他老人家说 vfp2c32 中就有个函数叫 CreateCallbackFunc,这个 fll 可以到 github 上去搜索下载


一个用类来表达“结构类型”的话题,引来不少编程方面的讨论,感到有点意外和惊喜。

首先非常感谢 csyx 的关注和提出的问题,虽话语不多,但寓意深远。所以,很有必要对此问题展开一下讨论。

先说些看似与编程无相关的闲话,放松一下心情。再就编程方面说说自己的观点和看法。有点啰嗦,考验你的耐性了。

首先提到这位“老人家”,有话说“不听老人言,吃亏在眼前”,老人家的话一定要听进去,尤其是长辈的话。

记得做学生哥时听过一个关于两个数学家的故事,这两位数学家叫什么名字记不起来了,权当其中一位叫“高斯”吧:话说很久以前,有位数学家为解开一道数学难题,花了整整40年,难题终于被解开了,他兴奋之余,将解题过程和答案整理好寄给大数学家高斯。高斯收阅后即时回信,那位数学家收到高斯的回信,打开看后即时倒地不起了。据说回信内容是:我早在40多年前就解开这道难题了。这个故事大概内容就是这样,一笑过之。

相信不少FOX友是在新中国的前30年出生读书长大的,记得那句“造船不如买船,买船不如租船”被批判的洋奴哲学吗;还记得这30年之后的改革开放初期,曾经飞越过青藏高原的“运10”大飞机制造厂下马改造波音飞机的零部件;更还有的是又过30年之后,自己的大飞机又出厂起飞了,真是30年河东,30年河西。

法无定法,讨论问题不持肯定或否定态度。

“不听老人言,吃亏在眼前”,此言用在编程方面而论,这个 fll 会起到立杆见影的效果,搞钱来得快,不吃眼前亏。但是不是有 fll 用就可以安枕无忧、搞钱无尽呢? 如果是商品化的官方的 FLL 有保障性就好,否则就难保证出来的软件生命力有多长久,甚至是来历不明的 FLL,更有可能存在安全方面的问题。开发软件,这些问题都要得到重视,否则由此造成损失怕到时欲哭无泪。

经常也会见到使用 FLL 的人提起:以前用得好好的,系统更新了就不好使了。这是很正常的事,操作系统也没有百分百的兼容。但问题是此时一定要找到新版本的 FLL 支持,否则就如上术据说“欲哭无泪”,损失真是可大可小的。所以,在个人的立场上说,在欣赏人家美丽 FLL 的同时也要学点化妆技术来不断妆扮好自己,当感觉自己妆扮得比人家更美丽时,那种满足感不是能用时间或金钱换得来的。所以,“不必浪费时间再造轮子”,也是有局限性的,就如“运10”下马是为更快搞到钱,使老百姓先富起来,是历史的必然,好为现在大飞机重上天的技术储备提供支持。

说到写 Callback ,记得是好几年前了,在某论坛发表过一个贴是有关VFP多线程问题的,某论坛现在好象连自己发表的贴也查看不到了,是什么时候发表的无从证实。当时是用汇编写了个简单的函数接口给VFP作为线程过程接口来使用VFP的COM(支持多线程的COM)来运行VFP代码,使VFP也有多线程的能力。老实讲,这个多线程只是停在示例上,还真没实际应用过,因为没遇上必要性的机会。

VFP混合编程,目前常见类型有 DLL、FLL 和通过COM接口、脚本接口,如 JS、VBS 和 VBA 等。现在编程可真是门派林立,胶水式的编程语言成后起之秀,真是要集各门派之长方可成武林盟主。

无论是 DLL、FLL 还是之前回复的在VFP过程嵌入ASM,说到底原理都是一样的,都是在VFP进程里载入DLL、FLL、ASM的代码。也许有人当初认为在VFP过程写ASM有点不理解,我也说是另类,皆因写VFP的对ASM有兴趣的极少。编程方面肯定要优先考虑用DLL或FLL,易读好理解易调试好用开发高效;在PRG里体现ASM好处只有一个,短小精干,明码示众,源码开放,无安全性问题,缺点就不说了,就一句“乜都难”。





[此贴子已经被作者于2022-3-21 14:41编辑过]

2022-03-21 12:17
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:347
专家分:326
注 册:2013-10-4
收藏
得分:0 
以下是引用吹水佬在2022-3-21 12:17:32的发言:

“不听老人言,吃亏在眼前”……


大佬啊,vfp2c32是开源的!我觉得,与其一门心思地、执拗地、不管不顾地、大无畏地、一条道走到黑地……斋用VFP去辛辛苦苦摸索、实现,莫如直接将vfp2c32的CreateCallbackFunc源代码参参透,哪怕单独将这一小块抽离出来,写一个开源的Callback.fll,那也好过啊!

是吧,亲。
2022-03-21 14:55
sych
Rank: 4
等 级:业余侠客
威 望:7
帖 子:237
专家分:290
注 册:2019-10-11
收藏
得分:0 
这个群里大佬应该合力把VFP搞起来
2022-03-21 15:10
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:347
专家分:326
注 册:2013-10-4
收藏
得分:0 
以下是引用cssnet在2022-3-21 14:55:41的发言:
vfp2c32的CreateCallbackFunc源代码参参透……


完啦!vfp2ccallback.cpp + vfp2ccallback.h,光代码就有1300+行,看着眼睛矇、脑壳疼——果断放弃!
今时今日,于我而言:
VFP是玩具,不再是揾食架撑(生产工具)。
2022-03-21 15:22
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10544
专家分:42958
注 册:2014-5-20
收藏
得分:0 
以下是引用cssnet在2022-3-21 14:55:41的发言:
大佬啊,vfp2c32是开源的!我觉得,与其一门心思地、执拗地、不管不顾地、大无畏地、一条道走到黑地……斋用VFP去辛辛苦苦摸索、实现,莫如直接将vfp2c32的CreateCallbackFunc源代码参参透,哪怕单独将这一小块抽离出来,写一个开源的Callback.fll,那也好过啊!

是吧,亲。

首先声明一点,从未针对 vfp2c32 说过什么,提到的 FLL 不是针对 vfp2c32,只是对 FLL 这东东提出自己的观点,这有何不妥?

重在理解,希望你重温我写的东东,注意不要断章取意就好。

VFP多语言编程有何不好? 我之前也有强调过,用在其他语言学到的东西应用到VFP里,这算是“一条道走到黑地……斋用VFP去辛辛苦苦摸索”吗? 这不是VFP论坛吗?不是重点探讨VFP编程的地方吗? 对你的理解表示遗憾!

如果不想讨论VFP的问题,可以到其他版块讨论,我可以陪同参与,那个版块也行,反正我是来学习的,编程是我的爱好。但有个小小要求:既然是讨论编程问题,尽量少用文字长篇大论,多用代码来表达体现编程的思想,这样可以高效地探讨交流编程心得。

自己开的贴啰嗦多几句也无可奈何,回复参与人的问题是态度问题,尽量抽空回敬。


2022-03-21 15:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10544
专家分:42958
注 册:2014-5-20
收藏
得分:0 
在BCCN有点看不明,VFP这个老古董的版块热度还真不小,最多人参与讨论实际问题的。曾经在C版块呆过一段时间,觉得连这C大佬的地盘讨论和解决实际问题的机会极少,多是出题目考人家的。
2022-03-21 15:37
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:347
专家分:326
注 册:2013-10-4
收藏
得分:0 
以下是引用吹水佬在2022-3-21 15:28:29的发言:
注意不要断章取意就好。……对你的理解表示遗憾!……回复参与人的问题是态度问题,尽量抽空回敬。


吹版您误会啦!误会啦!!
其实您的callback类,我根本已是看不懂了。
哪怕时光再倒流二十年——放在我青春年少风华正茂时也看不懂!更何况今时今日老眼昏花那就更看不懂者也!
在这里插科打诨、开开玩笑,没事就来搭几句话,那纯粹就是“友情帮顶”,没有一丝一毫恶意的,吹版切莫放在心上!
多多担待则个。
哈哈哈哈。
2022-03-21 15:43
快速回复:VFP封装结构类型示例
数据加载中...
 
   



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

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