Hey! I try to figure it out how High Level Languages work
espacially OOP! So I looked at Visual Basic and other HLL's that
can create much forms and why it is so simple to use it and
just type "as new Form" and so on..

I got started some time ago looking at some produced file from
Visual Basic and guess what! There is no resource dialog..
even the MSVBVM60.DLL has no dialog resource in it..

So I'm just wondering how do these languages really work
because it would be interesting for assembly programms
to have such dynamic forms (also arrays)

And why are there properties and methods for such a form? for the re-
source one there isn't any property or method. you could just acces them
with api for example width and height or the caption.. but in VB you type
Form1.Caption = "cap"

And why can these be set like Form1.Left = 20.. is all the code
translated to API??

with GetWndRect and so on???

I canno't believe that.. I was thinking that there is some COM control for this too
and this must have also properties and can be edited with a cominvoke macro
or something.

Or are these dialogs implemented in the HLL?
Posted on 2005-12-10 16:41:01 by Emod
VB generates the forms itself. Your app just embeds the resource data in the .code (text) section, and sends it over to msvbvmxx.dll to create a form. That dll uses Win32 API in the end. Well, the "Line" and similar objects in forms are handled in another way..

Although the window and child-windows of forms are controlled via OOP objects, this is not the way for asm coders to study OOP-asm.
Studying the asm listing of compiled C++ code is where you have to learn OOP from. Or from the existing asm-oop packages here.
Posted on 2005-12-14 05:38:17 by Ultrano
Ultrano thanks for your reply! Helped me a lot to understand how those executable works. The problem I see with the OOP in C++ is the large MFC library for example. I just want to figure out some super simple way I know there are good things like ObjAsm and so on but still I try to make my way because I once heard of pointers to structs and so on that would work like

struct Form {
.Left dd ?
.Right dd ?
.Top dd ?
.Left dd ?


and so on.. and these struct could be assigned to an object and if you change an value it will change also. I am not sure if this was the case for Forms but for another object. I just wanted to figure this one out how this is done and so on!

Thanks for your reply, really!
Posted on 2005-12-16 13:18:24 by Emod

And why can these be set like Form1.Left = 20.. is all the code
translated to API??

with GetWndRect and so on???

Yes, ultimatly all the OOP stuff is a wrapper around the underlying API. In C++ you're not just stuck with MFC, there is a whole other wrapper- the WTL or you can use the API stuff directly also.
Posted on 2005-12-17 07:09:42 by Eóin