Board index » delphi » IBX 4.2 Update error

IBX 4.2 Update error

Hi,

I'm running Delphi 5 prof. under W2K prof. It is the english Delphi version
on a german W2K. I had installed the Delphi Service Pack and installed then
IBX 4.2. Then I started Delphi and I got the error message "Win32Error,
Code: 127, The procedure could not be found". The sentence is translated
because it was in german! No I can't get back to working IBX components.  I
don't want to install Delphi 5 plus all the components. To do all the
settings would cost me hours of work.

Does somebody had the same problem? What can I do?

I tried it on another computer with Win NT 4 SP4 German. I had no problems
to update IBX there.

Regards

Andreas Ldtke

 

Re:IBX 4.2 Update error


What procedure is it say it can not find and in what bpl?

Quote
"Andreas Ldtke" wrote:

> Hi,

> I'm running Delphi 5 prof. under W2K prof. It is the english Delphi version
> on a german W2K. I had installed the Delphi Service Pack and installed then
> IBX 4.2. Then I started Delphi and I got the error message "Win32Error,
> Code: 127, The procedure could not be found". The sentence is translated
> because it was in german! No I can't get back to working IBX components.  I
> don't want to install Delphi 5 plus all the components. To do all the
> settings would cost me hours of work.

> Does somebody had the same problem? What can I do?

> I tried it on another computer with Win NT 4 SP4 German. I had no problems
> to update IBX there.

> Regards

> Andreas Ldtke

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Have you ever met a lady screaming angst potential?
Have you ever dreamed of romance no matter how experimental?
Have you ever felt an alien drifting back into your hometown?
Did you think you were buying safety when you bought that piece of ground?
             (Fish)

Re:IBX 4.2 Update error


It is DCLIB50.BPL. The file size is 159232 bytes and is dated 07/18/2000.
The message comes up when I started Delphi the first time after the update
of IBX 4.2 (now with every start).

"Jeff Overcash (TeamB)" <overc...@onramp.net> schrieb im Newsbeitrag
news:398978B1.1E8FEF5@onramp.net...

Quote
> What procedure is it say it can not find and in what bpl?

> "Andreas Ldtke" wrote:

> > Hi,

> > I'm running Delphi 5 prof. under W2K prof. It is the english Delphi
version
> > on a german W2K. I had installed the Delphi Service Pack and installed
then
> > IBX 4.2. Then I started Delphi and I got the error message "Win32Error,
> > Code: 127, The procedure could not be found". The sentence is translated
> > because it was in german! No I can't get back to working IBX components.
I
> > don't want to install Delphi 5 plus all the components. To do all the
> > settings would cost me hours of work.

> > Does somebody had the same problem? What can I do?

> > I tried it on another computer with Win NT 4 SP4 German. I had no
problems
> > to update IBX there.

> > Regards

> > Andreas Ldtke

> --
> Jeff Overcash (TeamB)
>       (Please do not email me directly unless  asked. Thank You)
> Have you ever met a lady screaming angst potential?
> Have you ever dreamed of romance no matter how experimental?
> Have you ever felt an alien drifting back into your hometown?
> Did you think you were buying safety when you bought that piece of ground?
>              (Fish)

Re:IBX 4.2 Update error


But what procedure is it saying it can't find.

Quote
"Andreas Ldtke" wrote:

> It is DCLIB50.BPL. The file size is 159232 bytes and is dated 07/18/2000.
> The message comes up when I started Delphi the first time after the update
> of IBX 4.2 (now with every start).

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Have you ever met a lady screaming angst potential?
Have you ever dreamed of romance no matter how experimental?
Have you ever felt an alien drifting back into your hometown?
Did you think you were buying safety when you bought that piece of ground?
             (Fish)

Re:IBX 4.2 Update error


There is no procedure!!!

When I select in Delphi: Component - Install Packages... and click then left
of "InterBase data Access Components", I get the message immediately. The
message title is "Delphi 5" and the body text is "Win32Error, Code: 127, Die
angegebene Prozedur wurde nicht gefunden.".

"Jeff Overcash (TeamB)" <overc...@onramp.net> schrieb im Newsbeitrag
news:3989AF30.DBBDE0A3@onramp.net...

Quote
> But what procedure is it saying it can't find.

> "Andreas Ldtke" wrote:

> > It is DCLIB50.BPL. The file size is 159232 bytes and is dated
07/18/2000.
> > The message comes up when I started Delphi the first time after the
update
> > of IBX 4.2 (now with every start).

> --
> Jeff Overcash (TeamB)
>       (Please do not email me directly unless  asked. Thank You)
> Have you ever met a lady screaming angst potential?
> Have you ever dreamed of romance no matter how experimental?
> Have you ever felt an alien drifting back into your hometown?
> Did you think you were buying safety when you bought that piece of ground?
>              (Fish)

Re:IBX 4.2 Update error


Could you give me the source code? I can then try to find the place or
procedure where it happend. So far, I only used the self extracting file.

"Jeff Overcash (TeamB)" <overc...@onramp.net> schrieb im Newsbeitrag
news:3989AF30.DBBDE0A3@onramp.net...

Quote
> But what procedure is it saying it can't find.

> "Andreas Ldtke" wrote:

> > It is DCLIB50.BPL. The file size is 159232 bytes and is dated
07/18/2000.
> > The message comes up when I started Delphi the first time after the
update
> > of IBX 4.2 (now with every start).

> --
> Jeff Overcash (TeamB)
>       (Please do not email me directly unless  asked. Thank You)
> Have you ever met a lady screaming angst potential?
> Have you ever dreamed of romance no matter how experimental?
> Have you ever felt an alien drifting back into your hometown?
> Did you think you were buying safety when you bought that piece of ground?
>              (Fish)

Re:IBX 4.2 Update error


Sorry for sending three replies. But, do I need to have the IB6 client
installed on my delphi machine in order to use IBX 4.2?

"Jeff Overcash (TeamB)" <overc...@onramp.net> schrieb im Newsbeitrag
news:3989AF30.DBBDE0A3@onramp.net...

Quote
> But what procedure is it saying it can't find.

> "Andreas Ldtke" wrote:

> > It is DCLIB50.BPL. The file size is 159232 bytes and is dated
07/18/2000.
> > The message comes up when I started Delphi the first time after the
update
> > of IBX 4.2 (now with every start).

> --
> Jeff Overcash (TeamB)
>       (Please do not email me directly unless  asked. Thank You)
> Have you ever met a lady screaming angst potential?
> Have you ever dreamed of romance no matter how experimental?
> Have you ever felt an alien drifting back into your hometown?
> Did you think you were buying safety when you bought that piece of ground?
>              (Fish)

Re:IBX 4.2 Update error


No you don't.

Quote
"Andreas Ldtke" wrote:

> Sorry for sending three replies. But, do I need to have the IB6 client
> installed on my delphi machine in order to use IBX 4.2?

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Have you ever met a lady screaming angst potential?
Have you ever dreamed of romance no matter how experimental?
Have you ever felt an alien drifting back into your hometown?
Did you think you were buying safety when you bought that piece of ground?
             (Fish)

Re:IBX 4.2 Update error


Go to the borland site and go to the InterBase open source link.  Design time
source is there.  you already have the run time source.

Quote
"Andreas Ldtke" wrote:

> Could you give me the source code? I can then try to find the place or
> procedure where it happend. So far, I only used the self extracting file.

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Have you ever met a lady screaming angst potential?
Have you ever dreamed of romance no matter how experimental?
Have you ever felt an alien drifting back into your hometown?
Did you think you were buying safety when you bought that piece of ground?
             (Fish)

Re:IBX 4.2 Update error


I got it!
I downloaded IBX_Packages.zip and IBX_DPackages.zip. I got the same error
message when I tried to install the package. But then I deleted the
conditional define IB6_ONLY! After that I had no problem to install the
package.
I think your statement that I don't need the IB6 client is not totally true.

Thanks for the help

    Andreas

"Jeff Overcash (TeamB)" <overc...@onramp.net> schrieb im Newsbeitrag
news:398ACF82.2252CD34@onramp.net...

Quote
> Go to the borland site and go to the InterBase open source link.  Design
time
> source is there.  you already have the run time source.

> "Andreas Ldtke" wrote:

> > Could you give me the source code? I can then try to find the place or
> > procedure where it happend. So far, I only used the self extracting
file.

> --
> Jeff Overcash (TeamB)
>       (Please do not email me directly unless  asked. Thank You)
> Have you ever met a lady screaming angst potential?
> Have you ever dreamed of romance no matter how experimental?
> Have you ever felt an alien drifting back into your hometown?
> Did you think you were buying safety when you bought that piece of ground?
>              (Fish)

Re:IBX 4.2 Update error


GREP the source and find a single instance of the use of the define of
IB6_ONLY.  That define is used in only one place and that is to determine if it
should try to load the Admin tab.  That code itself cleanly determines whether
or not it can and if it can't it stubs out the missing functions.  That was
definitely not your problem.  If it was, IBX could not run against a 5.x client
at all which is incorrect.  

The only place it is used is in the register in

{$IFDEF IB6_ONLY}
  if (TryIBLoad) and (GetIBClientVersion >= 6) then
    RegisterComponents(IBPalette2, [TIBConfigService, TIBBackupService,
      TIBRestoreService, TIBValidationService, TIBStatisticalService,
      TIBLogService, TIBSecurityService, TIBServerProperties,
      TIBInstall, TIBUninstall]);
{$ENDIF}

Both TryIBLoad and GetIBClientVersion quietly determine if you have 6.0 or and
older client installed.  Neither will raise the exception you mentioned.  There
is no way IB6_ONLY is at fault here.  The TryIBLoad happens every time you run
an IBX app.  It determines by the existence or lack of existence of
RollbackRetaining in the dll if it is IB 6.0 or higher client or not.
GetIBClientVersion is valid after TryIBLoad is called (which will get called if
the client is not already loaded) and the Client version is set in
LoadIBLibrary.  

The key section in LoadIBLibrary is

    IBClientVersion := 6;
    isc_rollback_retaining := GetProcAddress(IBLibrary,
'isc_rollback_retaining'); {do not localize}
    if Assigned(isc_rollback_retaining) then
    begin
      isc_service_attach := GetProcAddr('isc_service_attach'); {do not localize}
      isc_service_detach := GetProcAddr('isc_service_detach'); {do not localize}
      isc_service_query := GetProcAddr('isc_service_query'); {do not localize}
      isc_service_start := GetProcAddr('isc_service_start'); {do not localize}
      isc_decode_sql_date := GetProcAddr('isc_decode_sql_date'); {do not
localize}
      isc_decode_sql_time := GetProcAddr('isc_decode_sql_time'); {do not
localize}
      isc_decode_timestamp := GetProcAddr('isc_decode_timestamp'); {do not
localize}
      isc_encode_sql_date := GetProcAddr('isc_encode_sql_date'); {do not
localize}
      isc_encode_sql_time := GetProcAddr('isc_encode_sql_time'); {do not
localize}
      isc_encode_timestamp := GetProcAddr('isc_encode_timestamp'); {do not
localize}
    end else
    begin
      IBClientVersion := 5;
      isc_rollback_retaining := isc_rollback_retaining_stub;
      isc_service_attach := isc_service_attach_stub;
      isc_service_detach := isc_service_detach_stub;
      isc_service_query := isc_service_query_stub;
      isc_service_start := isc_service_start_stub;
      isc_decode_sql_date := isc_decode_sql_date_stub;
      isc_decode_sql_time := isc_decode_sql_time_stub;
      isc_decode_timestamp := isc_decode_timestamp_stub;
      isc_encode_sql_date := isc_encode_sql_date_stub;
      isc_encode_sql_time := isc_encode_sql_time_stub;
      isc_encode_timestamp := isc_encode_timestamp_stub;
    end;
GetProcAddress does not raise an exception or AV on failure, and IBX is
correctly scaling down when it does not find a 6.0 client on the machine that
has loaded the gds32.dll.  This code is still executing on your machine even
when you removed the IB6_ONLY define as it gets called whenever you instantiate
your first IBX component at the latest.

This define statement is actually totally unneeded.  Remove it and it still will
only load those items if the 6.0 client is installed.  As a matter of fact it
has already been removed internally. (also note that DEBUG_ONLY is also no
longer used, but being defined in the options).

When you recompiled the design time package you recompiled against your design
time delphi libraries.  I would be willing to bet that that machine has an old
dsnIde.bpl.  This changed between D5 shipping and update 1.  The old bpl will
raise an entry point not found on startup with the patch.  When you recompiled
you compiled against the old version and now the linkage is correct for the old
interface but would fail on the updated Delphi. (more information on this can be
found at http://community.borland.com/article/0,1410,20864,00.html).

IBX does not require the IB 6.0 client.  Most people are not using IB 6 but
IB5.6.  Trust me, I should know the requirements for IBX.  I also tested the
patch this morning on a IB5.6 machine and it worked flawlessly like expected.

If you still insist this is a bug, please point to the line that is raising the
error message.  

Quote
"Andreas Ldtke" wrote:

> I got it!
> I downloaded IBX_Packages.zip and IBX_DPackages.zip. I got the same error
> message when I tried to install the package. But then I deleted the
> conditional define IB6_ONLY! After that I had no problem to install the
> package.
> I think your statement that I don't need the IB6 client is not totally true.

> Thanks for the help

>     Andreas

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Have you ever met a lady screaming angst potential?
Have you ever dreamed of romance no matter how experimental?
Have you ever felt an alien drifting back into your hometown?
Did you think you were buying safety when you bought that piece of ground?
             (Fish)

Re:IBX 4.2 Update error


Hi Jeff,

I'm sorry if you felt insulted by my message. This was not my intention! I
think you do a good job in this forum.

Maybe the problem is, that I'm using the InterBase 4.2 client, since I have
to maintain an old program. Have you tested IBX 4.2 against that (rather
old) client? I'm sure the problem lies there. As I wrote some messages ago,
I was able to install IBX 4.2 on a different machine.

Regards

        Andreas

"Jeff Overcash (TeamB)" <overc...@onramp.net> schrieb im Newsbeitrag
news:398ED82C.28DACE30@onramp.net...

Quote
> GREP the source and find a single instance of the use of the define of
> IB6_ONLY.  That define is used in only one place and that is to determine
if it
> should try to load the Admin tab.  That code itself cleanly determines
whether
> or not it can and if it can't it stubs out the missing functions.  That
was
> definitely not your problem.  If it was, IBX could not run against a 5.x
client
> at all which is incorrect.

> The only place it is used is in the register in

> {$IFDEF IB6_ONLY}
>   if (TryIBLoad) and (GetIBClientVersion >= 6) then
>     RegisterComponents(IBPalette2, [TIBConfigService, TIBBackupService,
>       TIBRestoreService, TIBValidationService, TIBStatisticalService,
>       TIBLogService, TIBSecurityService, TIBServerProperties,
>       TIBInstall, TIBUninstall]);
> {$ENDIF}

> Both TryIBLoad and GetIBClientVersion quietly determine if you have 6.0 or
and
> older client installed.  Neither will raise the exception you mentioned.
There
> is no way IB6_ONLY is at fault here.  The TryIBLoad happens every time you
run
> an IBX app.  It determines by the existence or lack of existence of
> RollbackRetaining in the dll if it is IB 6.0 or higher client or not.
> GetIBClientVersion is valid after TryIBLoad is called (which will get
called if
> the client is not already loaded) and the Client version is set in
> LoadIBLibrary.

> The key section in LoadIBLibrary is

>     IBClientVersion := 6;
>     isc_rollback_retaining := GetProcAddress(IBLibrary,
> 'isc_rollback_retaining'); {do not localize}
>     if Assigned(isc_rollback_retaining) then
>     begin
>       isc_service_attach := GetProcAddr('isc_service_attach'); {do not
localize}
>       isc_service_detach := GetProcAddr('isc_service_detach'); {do not
localize}
>       isc_service_query := GetProcAddr('isc_service_query'); {do not
localize}
>       isc_service_start := GetProcAddr('isc_service_start'); {do not
localize}
>       isc_decode_sql_date := GetProcAddr('isc_decode_sql_date'); {do not
> localize}
>       isc_decode_sql_time := GetProcAddr('isc_decode_sql_time'); {do not
> localize}
>       isc_decode_timestamp := GetProcAddr('isc_decode_timestamp'); {do not
> localize}
>       isc_encode_sql_date := GetProcAddr('isc_encode_sql_date'); {do not
> localize}
>       isc_encode_sql_time := GetProcAddr('isc_encode_sql_time'); {do not
> localize}
>       isc_encode_timestamp := GetProcAddr('isc_encode_timestamp'); {do not
> localize}
>     end else
>     begin
>       IBClientVersion := 5;
>       isc_rollback_retaining := isc_rollback_retaining_stub;
>       isc_service_attach := isc_service_attach_stub;
>       isc_service_detach := isc_service_detach_stub;
>       isc_service_query := isc_service_query_stub;
>       isc_service_start := isc_service_start_stub;
>       isc_decode_sql_date := isc_decode_sql_date_stub;
>       isc_decode_sql_time := isc_decode_sql_time_stub;
>       isc_decode_timestamp := isc_decode_timestamp_stub;
>       isc_encode_sql_date := isc_encode_sql_date_stub;
>       isc_encode_sql_time := isc_encode_sql_time_stub;
>       isc_encode_timestamp := isc_encode_timestamp_stub;
>     end;
> GetProcAddress does not raise an exception or AV on failure, and IBX is
> correctly scaling down when it does not find a 6.0 client on the machine
that
> has loaded the gds32.dll.  This code is still executing on your machine
even
> when you removed the IB6_ONLY define as it gets called whenever you
instantiate
> your first IBX component at the latest.

> This define statement is actually totally unneeded.  Remove it and it
still will
> only load those items if the 6.0 client is installed.  As a matter of fact
it
> has already been removed internally. (also note that DEBUG_ONLY is also no
> longer used, but being defined in the options).

> When you recompiled the design time package you recompiled against your
design
> time delphi libraries.  I would be willing to bet that that machine has an
old
> dsnIde.bpl.  This changed between D5 shipping and update 1.  The old bpl
will
> raise an entry point not found on startup with the patch.  When you
recompiled
> you compiled against the old version and now the linkage is correct for
the old
> interface but would fail on the updated Delphi. (more information on this
can be
> found at http://community.borland.com/article/0,1410,20864,00.html).

> IBX does not require the IB 6.0 client.  Most people are not using IB 6
but
> IB5.6.  Trust me, I should know the requirements for IBX.  I also tested
the
> patch this morning on a IB5.6 machine and it worked flawlessly like
expected.

> If you still insist this is a bug, please point to the line that is
raising the
> error message.

> "Andreas Ldtke" wrote:

> > I got it!
> > I downloaded IBX_Packages.zip and IBX_DPackages.zip. I got the same
error
> > message when I tried to install the package. But then I deleted the
> > conditional define IB6_ONLY! After that I had no problem to install the
> > package.
> > I think your statement that I don't need the IB6 client is not totally
true.

> > Thanks for the help

> >     Andreas

> --
> Jeff Overcash (TeamB)
>       (Please do not email me directly unless  asked. Thank You)
> Have you ever met a lady screaming angst potential?
> Have you ever dreamed of romance no matter how experimental?
> Have you ever felt an alien drifting back into your hometown?
> Did you think you were buying safety when you bought that piece of ground?
>              (Fish)

Re:IBX 4.2 Update error


4.2 client is not supported at all.  Only 5.x and up.  There has not been
testing against 4.2, nor are there plans to include testing of pre 5.x clients
either.

Quote
"Andreas Ldtke" wrote:

> Hi Jeff,

> I'm sorry if you felt insulted by my message. This was not my intention! I
> think you do a good job in this forum.

> Maybe the problem is, that I'm using the InterBase 4.2 client, since I have
> to maintain an old program. Have you tested IBX 4.2 against that (rather
> old) client? I'm sure the problem lies there. As I wrote some messages ago,
> I was able to install IBX 4.2 on a different machine.

> Regards

>         Andreas

--
Jeff Overcash (TeamB)
      (Please do not email me directly unless  asked. Thank You)
Have you ever met a lady screaming angst potential?
Have you ever dreamed of romance no matter how experimental?
Have you ever felt an alien drifting back into your hometown?
Did you think you were buying safety when you bought that piece of ground?
             (Fish)

Other Threads