答应萝卜要说说的,就瞎白些,想到什么说什么。
1,我是受不了V1的崩溃才转V2的。面对V1无数谜之崩溃,即使重写了无数次结构也无济于事,浪费了无数时间,也把H作者骚扰到够,于是就打算转移了。
以前也转移过几次,但技术渣渣,很多必用的库不会写V2版,所以最后都放弃了。这回大概AHK力满槽,又恰好V2最近的版本恢复了一些以前删除的语法和命令,使得兼容性大增,整个过程十分顺利。现在虽然还是经常遇到崩溃,但都一一找到源头解决掉了。还在磨合阶段嘛。
2,多线程容易崩溃,更容易出错。这是事实。代码规范可以大大减少错误机率,这也是V2的长处。
3,V2的特点,命令的函数化,确实不错,代码结构流畅了很多。但需要注意的是,如果你追求速度最大化,就是想能快一点是一点,别用这些函数,因为会比原命令慢很多,大概一倍吧。
4,线程交互使用最多的大概是 ahkFunction 和 ahkPostFunction,这两个函数,有个需要注意的地方是,传递的参数必须是字符串。如果传递数值必须这样使用:
AhkThread.ahkPostFunction("Func",1 "")
我在V2遇到最难搞的崩溃的原因,就是在某个参数上忘记加这两个引号。 这也可见多线程是多么容易崩溃.
5,我对V2的报错机制是又爱又恨,被它骚扰到爆,当然也找出很多不恰当的代码。= = 我不认为它报错的代码是错的,但没有关闭的开关也只好改。这大概也是崩溃减少的原因吧。
6,前面说过V2最近恢复了V1的语法和命令,这让修改V1的库变得十分容易。很多大型的库,例如GDIP PUM 都是稍加修改就能正常使用了。整个转移过程耗费精力是我自写的代码,我为我的极简的代码风格付出了惨痛代价。拜此所赐,我的几个重要且大量代码的模块都是重写的,修复的几个也十分缓慢。要养成良好的代码习惯啊,各位。
- Home Board index Other languages 中文 (Chinese) 其他
- Search
-
- It is currently 21 May 2024, 10:02
- All times are UTC-05:00
V1转移V2经验谈
不适合其他版块的话题这里发吧
Moderators: tmplinshi, arcticir
Jump to
- AutoHotkey Foundation
- About This Community
- Forum Issues
- AutoHotkey (v2, current version)
- Ask for Help (v2)
- Gaming
- Scripts and Functions (v2)
- Gaming
- Tutorials (v2)
- Tips and Tricks
- Wish List
- Suggestions on Documentation Improvements
- Bug Reports
- AutoHotkey Development
- AutoHotkey_H
- Ask for Help
- Development
- Editors
- Adventure IDE
- Old Topics
- AHK Studio
- Notepad++
- Pulovers Macro Creator
- SciTE4AutoHotkey
- Visual Studio Code
- Announcements
- General Discussion
- AutoHotkey (v1.1 and older)
- Ask for Help (v1)
- Gaming Help (v1)
- Scripts and Functions (v1)
- Gaming Scripts (v1)
- Tutorials (v1)
- Tips and Tricks (v1)
- General
- Other Utilities & Resources
- Other Programming Languages
- C/C++
- ASM
- C#
- KeySharp
- Off-topic Discussion
- RPA
- Other languages
- Looking for Volunteers in other languages
- Deutsch (German)
- Ich brauche Hilfe
- Spiele
- Skripte und Funktionen
- Tutorials
- Tooltime
- Allgemeines
- 中文 (Chinese)
- 请求帮助
- 脚本函数
- 教程资料
- 相关工具
- 其他
- Español (Spanish)
- Pedir Ayuda
- Automatización de Juegos
- Scripts y Funciones
- Tutoriales
- Otras Utilidades y Recursos
- General
- Русский (Russian)
- Помощь
- Скрипты для Игр
- Скрипты и библиотеки
- Статьи и руководства
- Прочие ресурсы и ПО.
- Свободное общение
- Français (French)
- J'ai besoin d'aide
- Scripts et Fonctions
- Tutoriels
- Autres Utilitaires et Ressources
- Hors Sujet
- Português (Portuguese)
- Ajuda e Suporte Geral
- Scripts e Funções
- Tutoriais
- Outras Ferramentas e Recursos
- Outros Assuntos
- 한국어 (Korean)
Who is online
Users browsing this forum: No registered users and 6 guests