Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Can't find RDDSETDEFAULT()

Status
Not open for further replies.
Mar 20, 2006
589
US
I get an error calling RDDSETDEFAULT(). I find references to RDDSETDEFAULT but can't see the PROC, FUNC or LIB that contains the source when I search the drive where the CA stuff is loaded. Any thoughts?

Thanks,
 
Do you have your "set lib" environment variable set correctly?

Example Contents of my autoexec.nt:
Code:
set path=%path%;z:\programs\clipper5\bin;z:\programs\blinker;c:\programs\dbase
set lib=z:\programs\clipper5\lib
set include=z:\programs\clipper5\include
set clipper=f51;

Lyndon
 
LyndonOHCR thanks for the reply, I don't have any of the set's, lib, include, in my AUTOEXEC. The path's for the lib & ancillary files is hard coded into the LNK file. I pulled a hunk of code from an old thread288-1226097. It referenced a three line code segment:

IF(RDDSETDEFAULT()!="DBFCDX")
cOldRdd := RDDSETDEFAULT("DBFCDX")
ENDIF

I couldn't get this to compile, as is, it didn't seem to know RDDSETDEFAULT(). I trimed off the "ULT" and got it to compile, bit now I get an arugment error on the cOldRdd line when executing the code segment. Using Clipper 5.2e and an older version of Blinker 3.3?

It appears that the compile & link process didn't like the procedure/function call longer than 10 char.

So I am stuck on the aurgument error at this point.

There were just two items listed when I search this forum for RDDSETDEFAULT().

Thanks again,
Jim Creamer
 
What OS are you running. Are you sure the libs are in the folder hard coded in the lnk file?

Maybe you should post your link file contents.

RDDSETDEFAULT() is a standard Clipper 5.x provided function. If the function cannot be found, then the library it's in is not available to the linker.

That function should be in in dbfntx.lib, but that doesn't matter. The linker will need to know where to find all of the clipper lib's.
 
LyndonOHCR, thanks for the reply, I am running under NT, desktop & server. For whatever reason the full RDDSETDEFAULT() didn't work, until I truncated it to RDDSETDEFA(), then it worked fine. I can compile and link and it looks OK. The thing that I have bumped into is the command INDEX ON doesn't want to create a working index on a 450 meg file with more than one field used in the INDEX ON statement. I can create a working IDX index file only when I use one field in the index statement, I get a Blinker error 1313 general protection fault if I go to a second field in the INDEX ON statement. This is similar to what I encountered with NTX structured indexes. On that size file the NTX index format didn't want to create an index with more than one field used in the index on statement.

 
This sounds like you compiled your own local xHarbour sources, with non-default -Defines, that limit xHarbour to 10 character variable resolution and other compatibility 'features'. This is not reccommended.

Could you try to compile/link with the 'production' binaries from the website?

HTH
TonHu
 
Here is the definition of Error 1313 from the Blinker 3.x documentation.

You may want to try and change your dos VM to protected mode.

Why don't you post the contents of your config.nt and autoexec.nt files.

Code:
1313: exception error nn : <exception type>, code = nnnnh

  This message indicates that a protection exception of the specified
  type has occured during the execution of the program. This is an
  application program error not a DOS extender error, and indicates
  that the application program has attempted an unauthorised operation.

  The exception types and a brief description of their causes are
  listed below. The numeric code will often indicate the value causing
  the error, for example an invalid selector being loaded into a
  segment register or a pointer beyond the end of a segment.

  This error message will be followed by a dump of all the processor
  registers and various other information. Analysis of this information
  is covered in more detail in Chapter 5, DOS Extended / Dual Mode
  Programs.

         Exception 00: divide by zero attempted
         This exception is generated by an attempt to divide a value by
         zero, and is normally handled  by the compiler run time library
         when a high level language is being used.

         Exception 05: bounds check failed
         This exception is generated by a BOUND instruction when the
         value to be tested is less than the indicated lower bound or
         greater than the indicated upper bound.

         Exception 06: undefined opcode
         This exception is generated by an attempt to execute an opcode
         which is not defined for the processor the program is being run
         on.

         Exception 07: no maths coprocessor available
         This exception is generated by an attempt to execute a floating
         point instruction when the processor has no maths coprocessor
         available.

         Exception 08: double exception fault
         This exception is generated when multiple exceptions occur on
         one instruction, or an exception occurs in an exception
         handler.

         Exception 0a: invalid task switch state segment
         This exception is generated by an attempt to task switch to a
         segment with an invalid task state segment.

         Exception 0c: stack overflow / underflow
         This exception is generated by a limit violation in any
         operation which refers to the stack segment. This includes
         stack-oriented instructions such as PUSH and POP as well as
         other memory references which implicitly use the stack such as
         MOV AX,[BP].

         Exception 0d: general protection fault
         All protection violations which do not cause another exception
         cause a general protection exception. These include exceeding
         segment limits, attempting to load invalid selectors into
         segment registers, attempting to execute data and attempting to
         write to code.
 
I must have been at some other level when I wrote my previous reply :-(

Sorry for any confusion.

/TonHu
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top