TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Kelly Schrock
from: Peter Fitzsimmons
date: 1995-01-17 15:35:42
subject: Window-designer

KS> Oh! well, okay... Yeah, it's called PM Designer, and I'm working on a
 KS> new version of it. Hopefully I'll have something ready by April. If you

Sounds good.  I haven't looked at the current version (I'll wait for the
new version; make sure it gets into the Fernwood stream).

FYI,  here are things I look for in application generators (in order of
importance) that I often find lacking:

     1) The source code for everything that is required to link the
       application should be included.  Ie: If there is a set of
       worker/wrapper functions,  or a set of extended controls,
       all of the source code should be included.

     2) (this is a very hard one) An isolated programmer should be able
       to design simple apps without first having a demo performed by
       someone familiar with the product.

     3) IBM Cset should be supported.  This is the OS/2 standard
        compiler.

     4) the product itself should be compiled with a stable compiler
        (IBM/Watcom/Metaware).


 KS> it with the supplied makefile, and use it. The problem is, I don't have
 KS> access to the IBM, MetaWare, or Watcom compilers, and I need to get in
 KS> touch with someone who has access to one or more of these compilers,

You might try calling them -- I know Watcom often gives compilers to
product developers.   I noticed you didn't list Borland -- which means you
are probably developing your product with it;  IMO,  this is the last
compiler you should bother supporting if you want to capture the
commercial/professional software developer.  If you are going after the
hobbyist,  however,  I guess you'll want to support it.

IBM and Watcom are so cheap,  if you plan to support them you should
probably just buy them.  It's called capital investment :-).

 KS> and who can tell me what changes I need to make to the library to get
 KS> it to work with all of them. Kind of a clumsy situation. Would you know
 KS> of anybody, or be interested in messing around with this yourself? I
 KS> don't think it would take much, it's not a very big library. (You'd get
 KS> free source code for it! :) ) If you'd be interested or know of anyone,
 KS> I could use the help in that area.

I have IBM Cset++ 2.1 and Watcom 10.0a (both the must current).  JdeP has
Metware.  I will look at your stuff as long as it doesn't take TOO much
time.

A few hints for multi-compiler support:

    - Borland has many C runtime calls that are proprietary,  and they
      have traditionally used them in most of their samples/docs, thus
      creating a programmer who thinks these functions are standard.
      Additionally,  these non-ansi functions do NOT start with an
      underscore, so they are easily missed.  Examples are:

        clrscr(), readdir(), findfirst().


      Some non-ansi,  yet defacto standard (msc/ibm/watcom) functions
      have been deformed or have different behavior.  Example
      _beginthread(), the whole c....() library (cprintf(), etc).

     - Few of the compilers support the same #pragma's,  so avoid
       using them.

     - Never use inline assembly or pseudo registers.

     - Always make your *.ASM files MASM 5.x compatible (yes,  you can
       write true 32bit flat stuff this way).

     - Most of the compilers have a different (and incompatible) default
       calling convention.  Some don't even support the defacto standard
       keywords for the new calling conventions (example: _System).

       Therefore,  it is best to have all of the functions you wish to
       export from a LIB/DLL prototyped with something that overrides
       the default calling convention.  For example,  you could use the
       EXPENTRY define.

     - #include all non-standard *.h files in one place,  so they
       can easily be fixed.  Examples:

        alloc.h
        malloc.h
        dir.h
        direct.h
        dos.h
        mem.h
        memory.h

     - If (as you are) releasing source to be compiled by other
       people, release a MAKEFILE for each compiler that works with the
       MAKE that comes with that compiler.

     - Look at GUIDELINES support for each compiler -- pay attention
       to the way they allow you to set the LIB/INCLUDE, etc,  directories
       from within guidelines.

--- Maximus/2 2.01
* Origin: Sol 3/Toronto (905)858-8488 (1:259/414)
SEEN-BY: 12/2442 620/243 624/50 632/348 640/820 690/660 711/409 410 413 430
SEEN-BY: 711/807 808 809 934 942 949 712/353 515 713/888 800/1 7877/2809
@PATH: 259/414 400 99 250/99 3615/50 229/2 12/2442 711/409 808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.