荷花鱼是什么鱼| 支那人是什么意思| 宇宙之外还有什么| 1974年是什么命| 码是什么意思| 日间病房是什么意思| 矫正牙齿挂什么科| 雪燕有什么功效| 什么是酒糟鼻| 五月二十五是什么星座| 拔完火罐要注意什么| 快递已揽件是什么意思| 胸痹是什么意思| 奶粉结块是什么原因| 肉桂茶适合什么人喝| 唱歌有什么好处| 流加金念什么| 天肖是什么生肖| 合肥有什么玩的| 动车与高铁有什么区别| 第一次同房要注意什么| 7月11日什么星座| 嘴巴里起泡是什么原因| 红艳煞是什么意思| 什么样的伤口算开放性| 补办港澳通行证需要什么材料| 七月份什么星座| 女宝胶囊的作用和功效是什么| vct是什么意思| 做护士需要什么条件| 刘字五行属什么| 什么树没有叶子| 虎属什么五行| 听吧新征程号角吹响是什么歌| 1936年中国发生了什么| 睡着了咳嗽是什么原因| 1984年属鼠的是什么命| below是什么意思| 疱疹吃什么药| 鹅蛋和什么不能一起吃| 98年的虎是什么命| 傍家儿是什么意思| poscer是什么牌子手表| 巨蟹女喜欢什么样的男生| 吃什么去肝火效果最好| 户名是什么意思| 什么的桃子| 肠胃感冒吃什么食物| 甲状腺激素高吃什么药| 什么叫牙齿根管治疗| 室早是什么意思| 两肺散在小结节是什么意思| 什么眼霜去皱效果好| 喝绿茶对身体有什么好处| 且慢是什么意思| 吃什么利尿消肿| 朱迅是什么民族| 看静脉曲张挂什么科| 终身为国是什么生肖| 虚热是什么意思| 皮质醇是什么意思| 前列腺吃什么药见效快| 山对什么| 安宫丸什么时候吃| 91是什么| 去脂体重什么意思| 下午一点多是什么时辰| 拔完牙不能吃什么| 政协是干什么的| 脚癣用什么药最好| huidr是什么品牌| 胡萝卜什么时候种植| 中签是什么意思| 乔峰和洪七公什么关系| 空调滴水什么原因| 夏天用什么泡脚最好| cm3是什么单位| 水和什么相生| 5月3日什么星座| 脖子上长小肉粒是什么| 眼泪多是什么原因| 早上九点到十点是什么时辰| 12356是什么电话| 爽是什么结构| 梦到老鼠是什么意思| 后背沉重感是什么原因引起的| br是什么元素| 什么是香云纱| 什么是极差| 千里走单骑是什么意思| 君臣佐使是什么意思| 眼睛上火用什么眼药水| 咳嗽喉咙痛吃什么药| 孕妇梦见鬼是什么预兆| 染色体异常是什么原因导致的| 胡子变白是什么原因| 屋里有蝙蝠有什么预兆| lhrh是什么激素| 局长是什么级别干部| 艾斯比什么意思| 嘴唇干是什么原因引起的| jeep衣服什么档次| 飞机烧的是什么油| 猪肝有什么功效| 91年是什么年| 狗狗肠胃炎吃什么药| 蜂胶是什么| 团委书记是什么级别| 狮子座上升星座是什么| 忧虑是什么意思| 起床气是什么意思| 嘴苦什么原因| 肩膀发麻是什么原因| 红豆是什么意思| 肚子隐隐作痛什么原因| 思春是什么意思啊| 嗜是什么意思| 02年是什么生肖| 什么是ct检查| 桃子什么时候成熟| 桃李满天下的桃李是什么意思| 脑梗有什么症状前兆| 为什么小腿皮肤瘙痒| 什么不可什么四字词语| 木耳不能和什么一起吃| 耳鸣是什么病引起的| 下嘴唇发麻什么病兆| 口腔溃疡什么药最管用| 圣灵是什么意思| 脂蛋白是什么意思| 脾五行属什么| 生粉是什么| 什么是指标到校| 菠菜吃多了有什么害处| 胸闷气短咳嗽是什么原因引起的| 麻鸭是什么鸭| 耳石症吃什么药最好| 血管鼓起来是什么原因| 杜牧字什么| 劳您费心了什么意思| 萧敬腾为什么叫雨神| 滥竽充数的滥是什么意思| 524是什么意思| 什么药能治口臭| 前面有个豹子是什么车| 小孩子头晕是什么原因| 茅台为什么这么贵| 降龙十八掌最后一掌叫什么| 什么是像素| 女人吃什么排湿气最快| 什么是血压| 心肌劳损是什么意思| 慢性阑尾炎挂什么科| 癔症是什么病| pp和ppsu有什么区别| 彗星为什么有尾巴| 什么降肌酐| 数字五行属什么| 甲状腺病变是什么意思| 什么组词| 舌苔厚黄是怎么回事吃什么药| 乡政府属于什么单位| 西米露是什么| 有什么有什么| 私联是什么意思| 闹代表什么生肖| 嗜碱性粒细胞偏高是什么原因| 太平鸟属于什么档次| 用淘米水洗脸有什么好处| 出汗有盐霜是什么原因| 什么情况下需要会诊| 血癌是什么原因造成的| 转氨酶高是什么意思| 潘粤明老婆现任叫什么| 211属于什么大学| 什么时候是情人节| 也字五行属什么| 什么叫做缘分| 为什么会连续两天遗精| 洋葱吃多了有什么坏处| 喜欢一个人会有什么表现| 谷氨酰转肽酶是指什么| 525什么星座| 豆粕是什么| 生化全项包括什么| 作陪是什么意思| 雌蕊由什么组成| 甲胎蛋白增高说明什么| 鲍鱼是什么意思| 甲沟炎有什么药| 男属龙和什么属相最配| 什么什么本本| 长裙配什么鞋| 蛇形分班是什么意思| 经常发烧是什么原因| 线索细胞阳性什么意思| 冬瓜吃了有什么好处| 月经提前是什么原因| asp是什么氨基酸| 高项是什么| 关节炎用什么药最好| 表虚自汗是什么意思| 耄耋什么意思| 巨蟹座是什么象星座| 肝寒吃什么中成药| 皮上长小肉疙瘩是什么| 午餐肉是什么肉| 三文鱼是什么鱼| 梅菜是什么菜做的| 异常灌注是什么意思| 端字五行属什么| 想吃甜食是身体缺什么| 为什么一喝阿胶睡眠就好了| 牛黄安宫丸什么季节吃| 困是什么意思| 龙鱼吃什么| 124什么意思| 什么叫活检| 1948年属鼠的是什么命| 待产是什么意思| 关东煮是什么| 共襄盛举是什么意思| 小便短赤是什么症状| 头臀长是什么意思| 纠察是什么意思| 太阳里面有什么| hot什么意思| 孕酮低是什么原因| 降头术是什么| 血红蛋白低吃什么| 牙医靠什么吃饭| 糖链抗原是什么意思| 靶向药有什么副作用| 为什么佛山有三个车牌| 疤痕增生是什么样子| erke是什么牌子| 蒲公英泡水喝有什么效果| 骨髓移植是什么意思| 老年人吃饭老是噎着是什么原因| 成年人改名字需要什么手续| 面瘫是什么引起的| 舞蹈症是什么病| 什么时候敷面膜效果最好| 减肥喝什么咖啡| kkkk是什么意思| 时间是什么| ricu病房是什么意思| 男才女貌是什么意思| 丁丁是什么| 长寿花什么时候扦插| 冰箱什么牌子好| 8.23是什么星座| 肾的功能是什么| 水晶粉是什么原料做的| 骨关节疼痛什么原因| 这是什么| 哈气是什么意思| 梦见自己吐了是什么意思| 躁郁症是什么| 巽代表什么| 梦见别人家拆房子是什么预兆| 人类的祖先是什么生肖| 标准员是干什么的| 医院信息科是做什么| 百度Jump to content

陈乔恩全新封面大片 百变造型尽显内在能量

From Wikipedia, the free encyclopedia
Visual Component Library (VCL)
Original author(s)Borland
Developer(s)Embarcadero Technologies
Initial release1995; 30 years ago (1995)
Operating systemCross-platform (Microsoft Windows, macOS, iOS, Android)
TypeGUI
LicenseCommercial
Websitewww.embarcadero.com/kr/products/rad-studio
docwiki.embarcadero.com/RADStudio/XE6/en/VCL_Overview
百度 “中方绝不会坐视合法权益受到损害,必将采取所有必要措施,坚决捍卫自身合法权益。

The Visual Component Library (VCL) is a visual component-based object-oriented framework for developing the user interface of Microsoft Windows applications. It is written in Object Pascal.

History

[edit]

The VCL was developed by Borland for use in, and is tightly integrated with, its Delphi and C++Builder RAD tools.

In 1995 Borland released Delphi, its first release of an Object Pascal IDE and language. Up until that point, Borland's Turbo Pascal for DOS and Windows was largely a procedural language, with minimal object-oriented features, and building UI frameworks with the language required using frameworks like Turbo Vision and Object Windows Library. OWL, a similar framework to MFC, required writing code to create UI objects.

A key aim of the VCL combined with the Delphi language was to change the requirements of building a user interface. (For context, the Delphi variant of Pascal had a number of innovative object-oriented features, such as properties and runtime type information, inspired by Modula and Smalltalk.) At the time, much UI code work required creating classes inheriting from other classes, and customized objects were often not reusable (for example, a button that performs a specific action cannot be reused in a different application.)[1] UI code was also complicated, forcing the programmer to understand and use the Windows API, manage GDI resources, etc.[2] Finally, a visual user interface arguably should be designed visually, and yet most tools to do so - at the time, mainly Visual Basic - did so in terms of the designer outputting code, creating a fragile, un-manually-editable situation - a problem that still persists today with many UI frameworks, particularly C++-based ones such as Qt.[3]

The combination of the Delphi language and the VCL framework written in that language addressed these by:

  • A streaming framework, allowing an object and subobjects to be streamed to text or binary format - TComponent, the root class of the VCL framework
  • A form designer that saved to a stream, saving the description of the objects not the code required to create them, with objects capable of self-creation when streaming the description back in
  • Language features that allowed instances of a class to be customised without subclassing, in two ways: first, through the use of properties, allowing instances of an object to have its own fields (such as a caption) easily changed through streaming; second, by allowing events - method pointers called at specific places in code - to be handled by another object; that is, the method pointers were attached to an object instance.[4] In other words, this creates "custom behaviours through delegation instead of inheritance".[5]
  • Controls that wrapped native Windows controls, in framework that managed resources[6]

The combination of these resulted in a visual designer that streamed a description; a form (window) that constructed itself from that description, including creating all the other components on that form; and code being written in one place (methods on the form) that could be called by UI elements in response to certain actions, such as a button being clicked calling an OnClick event handler implemented in the form code. At the time this was revolutionary, while today it is an approach used by several other frameworks, such as WinForms and Cocoa.

This also allowed new components - new visual or non-visual classes - to be written easily. The VCL is Windows-based and its implementations of common controls are wrappers of the Windows API, thus is close to the ground and fully native. New controls can be implemented from scratch or can use existing Windows controls.

With the release of C++ Builder, the Delphi compiler could emit C++ header files for compiled Delphi-language units, and so the flexibility of the streaming, visually designed UI framework became available for C++. VCL components can in fact be written in C++, but ultimately inherit from Delphi ancestors, since the C++Builder compiler and linker can consume object and header files produced by Delphi. This was one of the first examples of cross-language compatibility, something unseen until .Net.

Today the VCL includes several hundred visual and non-visual components, usable in both the Delphi and C++ languages.

Technology

[edit]

VCL forms a class hierarchy with a common ancestor, the TComponent class (which inherits from TObject, the root class in Delphi Object Pascal). This is a common approach shared by the Java programming language, Smalltalk, C# and many other object-oriented programming languages.

VCL components cover Windows controls like windows (TForm class), controls (e.g., TButton, TCheckBox, TLabel classes) as well as database access (e.g., ADO or IBX components) or Internet connections (Indy components). The component approach allows programmers to extend the VCL with many visual and non-visual additional components. There is a large number of free and commercial component packages. Among them are JEDI, TMS, Developer Express, Mitov Software, Raize Software, TurboPower, IOComp, SDL, DA-SOFT Technologies and many others.

While not all VCL components are thread-safe, VCL supports multi-threading too. One example is the built in multi-threading support of the OpenWire VCL library.

VCL provides native support for PME (properties, methods and events) model at the .NET level.[citation needed]

Much of the .NET design, especially WinForms, is modeled after the VCL. One of the main architects of the first Delphi versions, Anders Hejlsberg, was hired by Microsoft and became one of the main architects of .NET. This became the subject of a lawsuit: at the time (1996), "Borland alleged that Microsoft had hired 34 Borland employees over the past 30 months in order to steal Borland trade secrets. Borland also claimed that Microsoft offered and delivered expensive lures to Borland workers. In two cases, incentives topping $1 million were involved."[7] According to Zarko Gajic, the bonus was three million dollars in Anders' case.[7] Many Delphi developers find C# quite familiar, due to the design similarities.[8]

[edit]

A cross-platform equivalent of the VCL, called CLX (Component Library for Cross Platform), was later developed for use in Delphi, C++Builder and Kylix in 2000–2001. However, it was abandoned.

A second cross-platform framework, FireMonkey, was integrated into Delphi and C++Builder XE2 in 2011. FireMonkey is a vector-based WPF-like framework for UIs on Windows, OSX, iOS and Android.

The Lazarus project has a portable (*nix, OS/X, Win32/64+wince) equivalent called LCL, which was already working when Kylix and CLX emerged. The project maintained its course and ignored Kylix (and later FMX).

OpenOffice.org and thus LibreOffice contain an unrelated graphic library called Visual Class Library (VCL).[9][10]

See also

[edit]

References

[edit]
  1. ^ Delphi Component Design, Danny Thorpe, p9
  2. ^ Delphi Component Design, Danny Thorpe, p11
  3. ^ "Using a Designer UI File in Your Application | Qt 4.8".
  4. ^ "VCL Overview - RAD Studio".
  5. ^ Delphi Component Design, Danny Thorpe, p12
  6. ^ "Understanding the Component Library - RAD Studio".
  7. ^ a b Gajic, Zarko. "Microsoft's .Net IS Borland's Product (2/3)". Delphi Programming - Back to the future. Archived from the original on September 18, 2005.
  8. ^ Stephens, Glenn. "C# for Delphi Developers" (PDF). Archived from the original (PDF) on 2025-08-06. Retrieved 2025-08-06.
  9. ^ "Visual Class Library (VCL) Module". OpenOffice. Archived from the original on May 20, 2013.
  10. ^ "Visual Class Library (VCL)". LibreOffice. Archived from the original on March 27, 2025.
再接再厉什么意思 腿毛长的男人代表什么 人参是什么味道 ccd是什么意思 幽门螺杆菌是什么意思
泌乳素高是什么意思 骶髂关节炎吃什么药 一什么一什么造句 有氧运动是什么意思 双肾结晶什么意思
菜园中有什么生肖 午餐肉炒什么菜好吃 九五至尊什么意思 闻字五行属什么 糖筛和糖耐有什么区别
雌激素低有什么症状 浪琴手表什么档次 什么时候闰正月 胆囊疼是什么原因 面试要准备什么东西
腾空是什么意思hcv8jop7ns3r.cn 经常说梦话是什么原因hcv9jop3ns0r.cn 休学是什么意思0735v.com 什么叫保守治疗dayuxmw.com 屈原是什么诗人520myf.com
黄原胶是什么hcv9jop4ns6r.cn 内分泌紊乱吃什么药hcv8jop1ns0r.cn 月经正常颜色是什么色hcv8jop3ns4r.cn 吃什么可以自然掉体毛hcv8jop3ns5r.cn 青霉素过敏不能吃什么药hcv8jop4ns8r.cn
什么东东是什么意思hcv8jop4ns7r.cn 娇韵诗属于什么档次0297y7.com 义五行属什么hcv8jop6ns7r.cn 孩子结膜炎用什么眼药水hcv8jop5ns3r.cn ab型血和o型血生的孩子是什么血型hcv7jop5ns6r.cn
易建联为什么不打nbahcv7jop4ns8r.cn 去香港澳门旅游需要准备什么hcv8jop2ns6r.cn 脚趾头抽筋是什么原因hcv7jop4ns5r.cn 肺栓塞的主要症状是什么hcv8jop7ns4r.cn 土和什么相生tiangongnft.com
百度