Jolyon, I was pointing out a separate error that had nothing to do with the AV he was getting.
*> there looks to be an error in your code even if it works* Cheers, Carl On Thu, May 28, 2015 at 2:43 PM, Jolyon Smith <[email protected]> wrote: > @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 <[email protected]> > 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 < >> [email protected]> 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: [email protected] >>> Admin: http://delphi.org.nz/mailman/listinfo/delphi >>> Unsubscribe: send an email to [email protected] with >>> Subject: unsubscribe >>> >> >> >> _______________________________________________ >> NZ Borland Developers Group - Delphi mailing list >> Post: [email protected] >> Admin: http://delphi.org.nz/mailman/listinfo/delphi >> Unsubscribe: send an email to [email protected] with >> Subject: unsubscribe >> > > > _______________________________________________ > NZ Borland Developers Group - Delphi mailing list > Post: [email protected] > Admin: http://delphi.org.nz/mailman/listinfo/delphi > Unsubscribe: send an email to [email protected] with > Subject: unsubscribe >
_______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: [email protected] Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to [email protected] with Subject: unsubscribe
