Subject: | |
From: | |
Reply To: | |
Date: | Mon, 4 Dec 2000 14:54:21 -0800 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Re:
> 2) I've tried the instrinsic call with FindKey specified as an address
> (preceeded with "&"), both qualified with an instance/positional pointer
> "[0]" and not; and as a variable (no preceeding "&").
...
> The error doesn't change. It is consistently "186 - Invalid Key Length".
CSEQ says:
Procedure FFINDBYKEY (
filenum : int16 ; {R26}
keyvalue : anyvar record ; {(skip R25)
R23, R24}
{Address type = LongAddr}
keylocation : int16 ; {SP-$0032}
keylength : int16 ; {SP-$0036}
relop : int16 ) {SP-$003a}
{ CCE: ok }
{ CCG: (past EOF or before beginning) }
{ CCL: error (I/O err; relop not satisfied, key not found) }
{relop values: }
{ 0 --> equal (= ) }
{ 1 --> greater than (> ) }
{ 2 --> greater than or equal to (>=) }
I'd try:
logon as user with PM (or run a "god" program)
:run prog; debug
b FFINDBYKEY
c
... do whatever is necessary to get the FFINDBYKEY to be called.
= r26
...should be your file#
= r23.r24
... should be a valid 64-bit address.
dv r23.r24, 10, b
... should display the key value in hex and ASCII (and, incidentally,
validate the address for us)
dv sp-$3a, 3
... should show the last 3 parameters. Will be of the form:
xxxxnnnn xxxxnnnn xxxxnnnn
where we don't care what the "xxxx" values are.
Stan Sieler [log in to unmask]
www.allegro.com/sieler/wanted/index.html www.allegro.com/sieler
|
|
|