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
|
|
|
|
|