Re: Forms 4.5 and PowerBuilder Co-existing?
Date: 1995/12/06
Message-ID: <30C64026.1328_at_thomtech.com>#1/1
Steve Muench <smuench_at_us.oracle.com> wrote:
>Developer/2000, its Forms 4.5 piece in especially, integrates
with Windows and other
>Windows environments as easily as any other Windows tool. In
comparison to Forms 4.0,
>Forms 4.5 fully leverages all Windows features and makes it
easy to call external Windows
>DLL's.
How easy is 'easy'? Unless I'm missing something, there are two ways to call DLLs in Forms 4.5; either thru a PL/SQL interface or a USER_EXIT interface, and I wouldn't consider either of them 'easy'.
From the documentation that I've read, and from my conversations
with Oracle support, the PL/SQL interface is of limited
usefulness because
you can only call DLLs which have parameters that map directly
to PL/SQL datatypes (e.g., simple datatypes like numbers and
strings).
That is, you can call a DLL which has integer and character
string parameters, but you're apparently out of luck if the DLL
uses any kind of complex data structure (i.e, C "structs",
Windows "handles", pointers to structures,
etc.) Is this true?
The other alternative, using the USER_EXIT interface to DLLs,
certainly doesn't look easy to me. When I called Oracle support
to ask about this
3 weeks ago, they faxed me about 30 pages of notes on all the
"housekeeping" stuff you have to do to use the USER_EXIT
interface (e.g., registering
all foreign functions, not simply by declaring them, but by
writing and compiling "IAPXTB" structures). Furthermore,
according to Oracle bulletin 107448.352 which applies to Forms
4.5:
"You must use the Microsoft Visual C++ complier version 1.0 or
1.5.
No other compiler is supported. If you intend to embed SQL in
your user exit you must use Pro*C 1.5.10 for Windows. No
earlier version of this precompiler is supported."
This seems like an awful lot of effort to do something as simple
as calling a DLL. (Does this mean you may need to buy a new
compiler in order to
access certain DLLs via USER_EXIT, or am I missing something?)
>
>Perhaps the previous poster is referring to the process of
declaring external Windows
>functions as tedious in Developer/2000. He has obviously not
discovered the "Foreign
>Function Assistant" app that does all the work for him! :-) >
I myself had not discovered the Foreign Function Assistant app.
Apparently, neither did the Oracle rep I talked to when I called
about foreign functions and DLLs, because they never mentioned
it.
(Instead they faxed me all of the stuff I mentioned previously,
which makes it look far from simple to use DLLs with Forms.
Even the Oracle rep knew this to be a cumbersome process.)
Please feel free to point out any errors or oversights I've made
here. I'd love to know how to do this as easily and painlessly
as possible thru Forms.
All of my information has come from either Oracle docs or thru
my conversations with Oracle reps. If I've misunderstood
something, please let me know. And please let me know where I
can find the Foreign Function Assistant.
Received on Wed Dec 06 1995 - 00:00:00 CET