[lazarus] gtk port questions

Cliff Baeseman Cliff.Baeseman at Greenheck.Com
Fri Apr 23 09:54:19 EDT 1999


Mike Z can you pass that h2c program to vbman at pcpros.net.   Do you wish to
collaborate on this with me?

We will have to take the different units and split them up. So far I am just
doing a manual comparison to
the headers this is working fine because most of the units will not need any
major interface changes.


Cliff

-----Original Message-----
From: Michael.VanCanneyt@[195.207.84.150]
[mailto:Michael.VanCanneyt@[195.207.84.150]]On Behalf Of Michael Van
Canneyt
Sent: Friday, April 23, 1999 3:14 AM
To: lazarus at miraclec.com
Subject: Re: [lazarus] gtk port questions




On Fri, 23 Apr 1999, Mike Z. wrote:

> Well, I've started the port and as anticipated I've got some questions.
> Please be patient with me - I'm a quick study and learn well by example.
> By the time this is done I might even understand what I'm doing...
>
> I'm working under Win32 (my linux box is running an FTP server on a 486-66
> and I try to avoid using it for other purposes).  Feel free to answer with
> brevity, I'll let you know if I'm missing something.  Thanks in advance!
>
> 1.  The h2pas.exe (12/21/98 version) seems to do nothing.  I've tried the
> syntax: h2pas gtkbbox.h gtkbbox.pp and I'm just returned to the command
> prompt.  I downloaded h2pas from apparently the original author (6/9/95
> version) and it works.  Should I be using the version supplied with fpc
and
> any thoughts on why it doesn't work?

Just recompile it and it will work. (in rtl/utils/convert)
The official distributed version had a problem on win32 platforms :(

>
> 2.  Regarding this code snippet from the .pp file:
>
> {$ifndef gtk_include_files}
>   {$define read_interface}
>   {$define
> read_implementation}
> {$endif not gtk_include_files}
>
> {$ifndef
> gtk_include_files}
>
>   unit gtkbbox;
>   interface
> [snip]
>
> I see these directives in all the units.  I'll assume they're necessary
but
> I'm not clear on when gtk_include_files would be defined.

The purpose of this is that you can compile the unit GTK such that it
includes
all the other units, thus making it 1 huge unit. The unit gtk therefore
defines
gtk_include_files, and simply includes all the others.

You can also compile the units separately. In that case you DON't define
gtk_include_files, and each .pp file will act as a unit on it's own.

> 3. Compiler directives in the C headers are ignored in the pp units.
Correct?
Correct.

> 4. A C struct is equivalent to a pascal record?  The C typedef struct
> statements aren't used in pascal?

No.

> 5. Is there an easy way to determine what needs to be in the Uses clause
of
> the pp units?

In the C header files, several includes are done. I think that most of them
need gtktypes and gtkwidgets, most also use gdk and glib.

I always tried to compile the unit and added units as needed.

The problem of course doesn't exist if it is all 1 big unit...

> 6.  These types seem frequently defined:
>
>   Type
>     PLongint  = ^Longint;
>     PByte     = ^Byte;
>     PWord     =
> ^Word;
>     PINteger  = ^Integer;
>     PCardinal = ^Cardinal;
>     PReal     =
> ^Real;
>     PDouble   = ^Double;
>
> while PWord isn't used, for example, in gtkbbox.pp.  In this case, PWord
> doesn't need to be typed, correct?  You're just throwing them all in for
> convenience?

Yes. Include these, they are generated by the H2pas program for convenience.

>
> Thanks again for any tips.  Once I get rolling I won't be quite the
> irritant :)

No complaints so far :)

Michael.

_________________________________________________________________
     To unsubscribe: mail lazarus-request at miraclec.com with
                "unsubscribe" as the Subject






More information about the Lazarus mailing list