Differences between visual component library(vcl) and WinApi?

Azad I think there are 2 big differences: the first is the ease of use of the VCL that enables you to drag and drop controls on a form (window), change its properties and assign events, giving you high productivity in the development of the GUI.

Azad I think there are 2 big differences: the first is the ease of use of the VCL that enables you to drag and drop controls on a form (window), change its properties and assign events, giving you high productivity in the development of the GUI. The other big difference is the size of the final application, if you create an application using only WINAPI calls, your final application will be smaller than using the VCL. I recommend you see the project KOL (KOL - Key Objects Library is a set of objects to develop power (but small) 32 bit Windows GUI applications using Delphi but without VCL (or Free Pascal).

It is distributed free of charge, with source code. ).

The VCL is a complete framework wrapping the Windows API and insulating the developer from the gory details, making it so much easier to develop Delphi applications. You gain big in productivity and compatibility over Windows version changes...

1 +1. This, plus what RRUZ mentioned about the visual form designer, is the major difference. The VCL is a wrapper around WinAPI that makes it much easier to work with.

– Mason Wheeler Feb 9 '10 at 20:44.

Almost all real-world Delphi applications use the VCL, and also make OCCASIONAL direct calls to the Win32 API. The VCL framework calls Win32 calls, in the end, anyways. So, you will almost always be using both.

The guy who mentioned KOL is suggesting yet another "middle" layer, because going direct is sublimely painful. Microsoft has (in historical order), MFC, and ATL for C++, and . NET for the C#/VB.net language, as "framework" layers that live between your application and the raw Win32 API, for their MS Visual Studio products.

People who write anything more complicated than Notepad. Exe going straight to the "metal" (Win32 API raw) are rare. So, it's harder, it takes longer to learn, and do everything.

And in the end, it's not significantly faster or better. If you really need to be small (like you are writing a virus) maybe you might want to go Win32 native.

2 "sublimely painful" +1 for understatement of the week :-) – Allen Bauer Feb 10 '10 at 1:36.

Well, sure, VCL requires a Borland compiler. The Win32 API works for any language. The point of using a GUI class library, like VCL, is to make the effort of creating a GUI enabled program easier.

Doing so using only Win32 is quite punishing.

Well, there is always Freepascal/lazarus. – Marco van de Voort Feb 9 '10 at 20:05.

– Azad Salahli Feb 9 '10 at 20:42 3 I believe he means that VCL is much faster to learn and to use than doing everything "by hand" with WinApi. – Mason Wheeler Feb 9 '10 at 21:23 What Mason says. And mostly to use.

– Marco van de Voort Feb 10 '10 at 10:50.

You use WinAPI to do things that VCL is not "able" to do.

1 This is sort of an approach that the Visual Basic crowd got used to. You need some funny thing that the built in components and helper functions couldn't do in visual basic, you call a WinAPI call. Of course in Delphi it's easy to do most common Win32 API calls.

Just add "Windows" if it's not already in your Uses clause, and call any function from Windows. For other APIs you need an API library, like the JEDI Windows API Library, to help with things like ACLs (Access control lists), or other stuff. – Warren P Feb 10 '10 at 16:40 Putting a bit of abstraction there might help in future portings though.

– Marco van de Voort Feb 11 '10 at 10:20.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions