[DUG] RFID - EAccess violation

Jolyon Smith jsmith at deltics.co.nz
Thu May 28 14:43:23 NZST 2015


@Carl,

Although the code probably is incorrect in the way that it references
buffer after the call, rather than bufferr, this in itself will not cause
an AV since both buffer and bufferr are both statically allocated arrays
and thus references to items in these arrays will be valid, even if not
correct, as long as those references are within the bounds of the array,
which they are in this case.

On 28 May 2015 at 12:33, Karl Reynolds <kreynolds at chocfishsoft.co.nz> wrote:

> I don't know the API_PCDRead function. But there looks to be an error in
> your code even if it works. You are passing bufferr (two 'r's) to the
> function but referring to buffer (one 'r') afterwards, which wasn't used
> (unless there's other code you didn't show). So you need to look at that.
>
> That aside, for the bit leading up to the call, try something like:
>
> var
>   key, bufferr: PChar;
>   keydata: string;
>   buffdata: array[0..255] of char;
>   ...
> begin
>  // Allocate a string of six consecutive $FFs
>   keydata := #255#255#255#255#255#255;
>
>  // Convert to a PChar, an easy way to avoid having to allocate memory
> explicitly
>   key := PChar(keydata);
>
> // Once again avoid having to allocate memory explicitly
> // Point bufferr at the address of an array of 256 characters
>   bufferr := PChar(@buffdata);
>
>   receive:=API_PCDRead(0,0,$00,10,1,key,bufferr);
>
>   ...
>
> Cheers,
> Carl
>
> On Thu, May 28, 2015 at 11:33 AM, Marshland Engineering <
> marshland at marshland.co.nz> wrote:
>
>> Thanks for the replies.
>>
>> this is the line
>>
>> >   receive:=API_PCDRead(0,0,$00,10,1,key,bufferr);
>>
>> I'm way out my depth with the workings of this function. I just do simple
>> coding - A ex dBase3 programmer.
>>
>> I took the sample code that the RFID supplier gave, stripped off
>> everything I
>> didn't need other than the read line for RFID card and then copied the
>> bits
>> into my program which now crashes.
>>
>> I was wondering if the XPMENU call or something like that is interfering
>> with
>> other modules ?
>>
>> My debugging is limited to finding the line with the error.
>>
>> Both programs are run in Delphi 6, same machine and same environment.
>>
>> I can't find how to code this, where ever I put it, it crashes. - Expected
>> expression but ARRAY found.
>>
>>    const
>>      KEY = array[0..6] of Byte = ($FF,$FF,$FF,$FF,$FF,$FF,$00);
>>
>> Thanks Wallace.
>>
>>
>> _______________________________________________
>> NZ Borland Developers Group - Delphi mailing list
>> Post: delphi at listserver.123.net.nz
>> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>> Unsubscribe: send an email to delphi-request at listserver.123.net.nz with
>> Subject: unsubscribe
>>
>
>
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at listserver.123.net.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at listserver.123.net.nz with
> Subject: unsubscribe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20150528/de1569e2/attachment-0001.html 


More information about the Delphi mailing list