Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Internal error: L681

256 views
Skip to first unread message

Robert Cook

unread,
Nov 19, 2002, 4:43:49 PM11/19/02
to
I am using Delphi 7 Enterprise and are receiving an error message '[Fatal
Error] Internal error : L681' when compiling a project. Compiling a second
time usually passes without the error. The error seems confined to one
module and appears only after it has been changed.

Is there any clues as to the cause of this error message and how to
eliminate it?

Robert

Dave Nottage (TeamB)

unread,
Nov 19, 2002, 6:23:04 PM11/19/02
to

A reproducible example would help. You could post it to
borland.public.attachments.

Someone called Charles had the same problem:

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=3dac40bf%40
newsgroups.borland.com

Are you also using Win98 and CLX?

--
Dave Nottage (TeamB)


Robert Cook

unread,
Nov 19, 2002, 8:07:26 PM11/19/02
to
I am using Windows XP and no CLX. The PC is a 1.2Ghz PIII with 512MB of RAM,
30Gb drive with 8Gb free.

The issue is the module I refer to is over 19,000 lines long and forms the
corner stone of a large project. Quarantining sections of the module is not
easy.

Any help would be greatly appreciated.

Robert Cook


"Dave Nottage (TeamB)" <dav...@nospamola.smartchat.net.au> wrote in message
news:3dda...@newsgroups.borland.com...

Charles

unread,
Nov 20, 2002, 2:27:06 AM11/20/02
to
I still have the same problem. It's difficult to trace, after reducing the
number of lines of code past a certain level, it disappears.

It seems to be related to calls to 'setlength', reasonably sure of this.


Dave Nottage (TeamB)

unread,
Nov 20, 2002, 5:21:17 AM11/20/02
to
"Charles" wrote:
> I still have the same problem. It's difficult to trace, after reducing the
> number of lines of code past a certain level, it disappears.

Are you able to provide an example? I'd be very interested.

--
Dave Nottage (TeamB)


Charles

unread,
Nov 21, 2002, 5:00:23 AM11/21/02
to
It's difficult to provide a stripped down example - I spent two days trying
to isolate it but it disappears when the amount of code is reduced - and not
always the same code, though it appears to be always a call to setlength.

Appreciate the offer, unfortunately the code runs to about 60 units, plus
various custom components. You're welcome to look at the whole lot, or I
could try and strip it down again when I have the time, a little pressed at
the moment.

Robert Cook

unread,
Nov 21, 2002, 7:33:54 PM11/21/02
to
Spent two days carving up the 19,000 lines into four modules in a divide and
conquer approach, sigh. Here is what I found. It is a DB application with
the following definition in one module:

procedure NullParam(Parameters: TParameters; const ParamName: String);

The implementation is:

procedure NullParam(Parameters: TParameters; const ParamName: String);
overload;
begin
Parameters.ParamByName(ParamName).Value := Null;
end;

procedure NullParam(Parameters: Parameters; const ParamName: String);
overload;
begin
Parameters.Item[ParamName].Value := Null;
end;

This gives the Internal error: L681 error. The error is resolved by placing
the overload directive on the definition i.e.

procedure NullParam(Parameters: Parameters; const ParamName: String);
overload;

I tried to create a small test program to demonstrate the problem but it did
not exhibit the issue. Seems the problem is a little more complex than this
but hopefully might give the Delphi crew a clue.

Robert


"Charles" <ro...@ssppaammroditi.com> wrote in message
news:3ddc...@newsgroups.borland.com...

John Herbster \(TeamB\)

unread,
Nov 21, 2002, 8:50:29 PM11/21/02
to
"Robert Cook" <rob...@softek.com.au> wrote
> Parameters.ParamByName(ParamName).Value := Null;

Robert, This is not finding the root problem, but I would do
Parameters.ParamByName(ParamName).Clear;
instead of
Parameters.ParamByName(ParamName).Value := Null;
Regards, JohnH


Nick Hodges (TeamB)

unread,
Feb 3, 2003, 2:19:51 PM2/3/03
to
Robert --

I know this is a three month old thread, but I found your message on
Google, and I was able to correct this same error that had been
plaguing a client's application by finding a mismatched overload
directive. So thanks for coming back and posting your solution.


Nick Hodges - TeamB
Lemanix Corporation
Please always follow the newsgroup guidelines --
http://www.borland.com/newsgroups

0 new messages