For Programmers: Free Programming Magazines  


Home > Archive > Clipper > June 2004 > Error BASE/1004 No exported method: EVAL









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Error BASE/1004 No exported method: EVAL
Joel Fischoff (Agent)

2004-06-16, 3:55 am

Hey all,

I'm getting the error above when I try to open a database that I just
created. It occurs when I use a straight USE or use Grumpfish's Net_Use
function. Any help would be appreciated. Code snippet follows.


Thanks in advance,

Joel Fischoff

-----

#include "common.ch"
#include "set.ch"
#include "directry.ch"
#include "grump.ch"

Local aDbf := {}
Local cVarName := ""

hpSetEpath("\ESC40\FONTS")
*Set Printer To LPT1
Set Printer To (dat_path + "Output.txt")

****************************************
*********************************
*
* Now that all the data has been collected, we can put together a summary
* report. That's what this function does.
*
****************************************
*********************************

If File (dat_path + "SUM_DATA.DBF")
Delete File (dat_path + "SUM_DATA.DBF")
Endif

Use (dat_path + "IMP_DATA.DBF") Alias INFILE Exclusive New
* aadd (aDbf, {"PROVIDER", 'C', 3, 0})
* aadd (aDbf, {"INDATE", 'C', 8, 0})
* aadd (aDbf, {"ASSOC_NO", 'C', 6, 0})
* aadd (aDbf, {"MIDNO", 'C', 16, 0})
* aadd (aDbf, {"STMT_FEE", 'C', 8, 0})
* aadd (aDbf, {"MTD_SALES", 'C', 10, 0})

Select INFILE
Index On INDATE ;
To (dat_path + "imp_data");
For !Empty (INDATE) Unique
Go Top

aadd (aDbf, {"PROVIDER", 'C', 3, 0})
aadd (aDbf, {"ASSOC_NO", 'C', 6, 0})
aadd (aDbf, {"MIDNO", 'C', 16, 0})
aadd (aDbf, {"LESSEE", 'C', 30, 0})
aadd (aDbf, {"OFFICE_NO", 'C', 4, 0})
aadd (aDbf, {"BADCOUNT", 'N', 2, 0})


Do While !Eof()
aadd (aDbf, {'S' + Alltrim (INDATE), 'C', 1, 0})
Skip
Enddo

dbcreate (dat_path + "SUM_DATA.DBF", aDbf)

dbcloseall()

Delete File (dat_path + "imp_data.idx")



Net_Use (dat_path + "IMP_DATA Alias INFILE", YES)
Net_Use (dat_path + "SUM_DATA Alias OUTFILE", YES)
Net_Use (sia_path + "SIA Alias SIA", YES)

-----

This error occurs when it hits the second Net_Use() or USE command.
Stephen Quinn

2004-06-16, 3:55 am

Joel

> Do While !Eof()
> aadd (aDbf, {'S' + Alltrim (INDATE), 'C', 1, 0})
> Skip
> Enddo

This could be exceeding the number of elements an array can handle (4096)
or
you might be exceeding the number of fields a DBF can handle (255?)

You might try testing to see if the file was actually created.
Eg
dbcreate (dat_path + "SUM_DATA.DBF", aDbf)
IF ! File( dat_path + "SUM_DATA.DBF" )
// Error message
ENDIF

--
HTH
Steve Quinn


Ron Pinkas

2004-06-16, 3:55 am

Hello Joel,

> I'm getting the error above when I try to open a database that I just
> created. It occurs when I use a straight USE or use Grumpfish's Net_Use
> function. Any help would be appreciated. Code snippet follows.


Please compile the respective module with /P switch, and inspect the PPO
file at the specified line reported by the Error Message. It is very likely
that you'll find:

Eval( <Exp )

somewhere in that line, and the <exp> is NOT a CodeBlock as the code seems
to expect.

Ron


Ron Pinkas

2004-06-16, 3:55 am

> Please compile the respective module with /P switch, and inspect the PPO
> file at the specified line reported by the Error Message.


You may have to search based on some text anchor in the original source
since the PPO might not maintain the same line numbers as the source.

> Eval( <Exp )


Shoud read:

Eval( <Exp> )

Ron


Joel Fischoff (Agent)

2004-06-16, 3:55 pm

On Tue, 15 Jun 2004 22:53:47 -0700, "Ron Pinkas"
<Ron@remove-this.xharbour.com> wrote:

>somewhere in that line, and the <exp> is NOT a CodeBlock as the code seems
>to expect.


The problem that I can foresee with this (because I can't test it until I
get to work, and from work, I can't post to Usenet) is that I don't have
any control over that code.

I mean, if it's coming up in a straight USE and all.


Joel
Joel Fischoff (Agent)

2004-06-16, 3:55 pm

On Wed, 16 Jun 2004 14:48:38 +1000, "Stephen Quinn"
<steveqNOSPAM@integritynet.com.au> wrote:

>This could be exceeding the number of elements an array can handle (4096)
>or
>you might be exceeding the number of fields a DBF can handle (255?)


Hm.

That shouldn't be happening, as far as I can tell. The 'unique' on the
index should be preventing it. In fact, if I recall correctly, there were
less than 20 fields in the database. I'm pretty sure I was able to open it
in Visual Foxpro (which I use for the 'shell' that I can run commands in).

So, in any case, if this ISN'T the case, any idea why this might be
happening?


Joel
frank van nuffel

2004-06-16, 3:55 pm

Hi Joel,

"Joel Fischoff (Agent)" <petrukio@rcn.com> wrote in message
news:km6vc0lml3slqjbrlfm494l0a5es9ct5iv@
4ax.com...

> I'm getting the error above when I try to open a database that I just
> created. It occurs when I use a straight USE or use Grumpfish's Net_Use
> function. Any help would be appreciated. Code snippet follows.


> -----
>
> #include "common.ch"
> #include "set.ch"
> #include "directry.ch"
> #include "grump.ch"


[snip]

> Net_Use (dat_path + "IMP_DATA Alias INFILE", YES)
> Net_Use (dat_path + "SUM_DATA Alias OUTFILE", YES)
> Net_Use (sia_path + "SIA Alias SIA", YES)


according to net_use() function body from grumpfish library 4.06
http://www.the-oasis.net/files/library/grump406.zip 2nd arg should
read .T. or .F. net_use( cFile, lExclusive, ... )

Just my two cents.

frank



frank van nuffel

2004-06-16, 3:55 pm

> according to net_use() function body from grumpfish library 4.06
> http://www.the-oasis.net/files/library/grump406.zip 2nd arg should
> read .T. or .F. net_use( cFile, lExclusive, ... )


Argh, that's where common.ch comes in, of course.

Anyhow, stepping thru the debugger with net_use.prg compiled
for debugging probably will bring up where eval( <b> ) triggers
as stated by Ron; afaik it's only called in errorblock(...) from
within net_use()

frank


Claudio Voskian

2004-06-16, 3:55 pm

Hi Joel

Maybe the problem is the inclusion of the "Alias" in the filespec:

| Net_Use (dat_path + "IMP_DATA Alias INFILE", YES)

So, you will have something like:
C:\SOME_DIR\IMP_DATA Alias INFILE.DBF
as the name of your file, which is invalid for clipper.

HTH
--
Saluten
Claudio
Buenos Aires - Argentina
--
"Argentina crece gracias a que sus políticos y gobernantes dejan de robar
cuando duermen..."

"Joel Fischoff (Agent)" <petrukio@rcn.com> escribió en el mensaje
news:km6vc0lml3slqjbrlfm494l0a5es9ct5iv@
4ax.com...
| Hey all,
|
| I'm getting the error above when I try to open a database that I just
| created. It occurs when I use a straight USE or use Grumpfish's Net_Use
| function. Any help would be appreciated. Code snippet follows.
|
|
| Thanks in advance,
|
| Joel Fischoff
|
| -----
|
| #include "common.ch"
| #include "set.ch"
| #include "directry.ch"
| #include "grump.ch"
|
| Local aDbf := {}
| Local cVarName := ""
|
| hpSetEpath("\ESC40\FONTS")
| *Set Printer To LPT1
| Set Printer To (dat_path + "Output.txt")
|
| ****************************************
*********************************
| *
| * Now that all the data has been collected, we can put together a summary
| * report. That's what this function does.
| *
| ****************************************
*********************************
|
| If File (dat_path + "SUM_DATA.DBF")
| Delete File (dat_path + "SUM_DATA.DBF")
| Endif
|
| Use (dat_path + "IMP_DATA.DBF") Alias INFILE Exclusive New
| * aadd (aDbf, {"PROVIDER", 'C', 3, 0})
| * aadd (aDbf, {"INDATE", 'C', 8, 0})
| * aadd (aDbf, {"ASSOC_NO", 'C', 6, 0})
| * aadd (aDbf, {"MIDNO", 'C', 16, 0})
| * aadd (aDbf, {"STMT_FEE", 'C', 8, 0})
| * aadd (aDbf, {"MTD_SALES", 'C', 10, 0})
|
| Select INFILE
| Index On INDATE ;
| To (dat_path + "imp_data");
| For !Empty (INDATE) Unique
| Go Top
|
| aadd (aDbf, {"PROVIDER", 'C', 3, 0})
| aadd (aDbf, {"ASSOC_NO", 'C', 6, 0})
| aadd (aDbf, {"MIDNO", 'C', 16, 0})
| aadd (aDbf, {"LESSEE", 'C', 30, 0})
| aadd (aDbf, {"OFFICE_NO", 'C', 4, 0})
| aadd (aDbf, {"BADCOUNT", 'N', 2, 0})
|
|
| Do While !Eof()
| aadd (aDbf, {'S' + Alltrim (INDATE), 'C', 1, 0})
| Skip
| Enddo
|
| dbcreate (dat_path + "SUM_DATA.DBF", aDbf)
|
| dbcloseall()
|
| Delete File (dat_path + "imp_data.idx")
|
|
|
| Net_Use (dat_path + "IMP_DATA Alias INFILE", YES)
| Net_Use (dat_path + "SUM_DATA Alias OUTFILE", YES)
| Net_Use (sia_path + "SIA Alias SIA", YES)
|
| -----
|
| This error occurs when it hits the second Net_Use() or USE command.


Claudio Voskian

2004-06-16, 3:55 pm

Hi Joel

I just downloaded the grumpfish library from the oasis, and saw that it is
normal behaviour put the "alias" following the database filename, so you can
delete my previous message. It is incorrect.

As I do not use that lib, I think that format was incorrect - not a proper
way to express an alias for a dbf.

My apologies...
Claudio


"Claudio Voskian" <mixxell@hotmail.com> escribió en el mensaje
news:2jb4q3Fvkf5jU1@uni-berlin.de...
| Hi Joel
|
| Maybe the problem is the inclusion of the "Alias" in the filespec:
|
| | Net_Use (dat_path + "IMP_DATA Alias INFILE", YES)
|
| So, you will have something like:
| C:\SOME_DIR\IMP_DATA Alias INFILE.DBF
| as the name of your file, which is invalid for clipper.
|
| HTH
| --
| Saluten
| Claudio
| Buenos Aires - Argentina
| --
| "Argentina crece gracias a que sus políticos y gobernantes dejan de robar
| cuando duermen..."
|
| "Joel Fischoff (Agent)" <petrukio@rcn.com> escribió en el mensaje
| news:km6vc0lml3slqjbrlfm494l0a5es9ct5iv@
4ax.com...
| | Hey all,
| |
| | I'm getting the error above when I try to open a database that I just
| | created. It occurs when I use a straight USE or use Grumpfish's Net_Use
| | function. Any help would be appreciated. Code snippet follows.
| |
| |
| | Thanks in advance,
| |
| | Joel Fischoff
| |
| | -----
| |
| | #include "common.ch"
| | #include "set.ch"
| | #include "directry.ch"
| | #include "grump.ch"
| |
| | Local aDbf := {}
| | Local cVarName := ""
| |
| | hpSetEpath("\ESC40\FONTS")
| | *Set Printer To LPT1
| | Set Printer To (dat_path + "Output.txt")
| |
| |
****************************************
*********************************
| | *
| | * Now that all the data has been collected, we can put together a
summary
| | * report. That's what this function does.
| | *
| |
****************************************
*********************************
| |
| | If File (dat_path + "SUM_DATA.DBF")
| | Delete File (dat_path + "SUM_DATA.DBF")
| | Endif
| |
| | Use (dat_path + "IMP_DATA.DBF") Alias INFILE Exclusive New
| | * aadd (aDbf, {"PROVIDER", 'C', 3, 0})
| | * aadd (aDbf, {"INDATE", 'C', 8, 0})
| | * aadd (aDbf, {"ASSOC_NO", 'C', 6, 0})
| | * aadd (aDbf, {"MIDNO", 'C', 16, 0})
| | * aadd (aDbf, {"STMT_FEE", 'C', 8, 0})
| | * aadd (aDbf, {"MTD_SALES", 'C', 10, 0})
| |
| | Select INFILE
| | Index On INDATE ;
| | To (dat_path + "imp_data");
| | For !Empty (INDATE) Unique
| | Go Top
| |
| | aadd (aDbf, {"PROVIDER", 'C', 3, 0})
| | aadd (aDbf, {"ASSOC_NO", 'C', 6, 0})
| | aadd (aDbf, {"MIDNO", 'C', 16, 0})
| | aadd (aDbf, {"LESSEE", 'C', 30, 0})
| | aadd (aDbf, {"OFFICE_NO", 'C', 4, 0})
| | aadd (aDbf, {"BADCOUNT", 'N', 2, 0})
| |
| |
| | Do While !Eof()
| | aadd (aDbf, {'S' + Alltrim (INDATE), 'C', 1, 0})
| | Skip
| | Enddo
| |
| | dbcreate (dat_path + "SUM_DATA.DBF", aDbf)
| |
| | dbcloseall()
| |
| | Delete File (dat_path + "imp_data.idx")
| |
| |
| |
| | Net_Use (dat_path + "IMP_DATA Alias INFILE", YES)
| | Net_Use (dat_path + "SUM_DATA Alias OUTFILE", YES)
| | Net_Use (sia_path + "SIA Alias SIA", YES)
| |
| | -----
| |
| | This error occurs when it hits the second Net_Use() or USE command.
|
|


Joel Fischoff (Agent)

2004-06-17, 3:55 am

<snip>

I'm cutting all the text out because I solved the problem. You're not
going to believe what it was. *I* hardly believe what it was.

As I thought, the file was creating itself properly, with a limit of 19,
both fields in the database and rows in the array.

No, the problem was the NAME of the file! I changed "SUM_DATA" to
"REP_DATA" and then it ran just fine.

Shaking his head in dismay,


Joel
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com