Click here to Skip to main content
15,904,023 members
Home / Discussions / C#
   

C#

 
AnswerRe: Data gride update/refresh - works when stepping through code but not when running the program [modified] Pin
dave181614-Apr-09 12:33
dave181614-Apr-09 12:33 
Questionhow to update mutliple columns with ado to a database? Pin
dave181613-Apr-09 15:01
dave181613-Apr-09 15:01 
AnswerRe: how to update mutliple columns with ado to a database? Pin
Mbah Dhaim13-Apr-09 17:42
Mbah Dhaim13-Apr-09 17:42 
GeneralRe: how to update mutliple columns with ado to a database? Pin
Vikram A Punathambekar13-Apr-09 17:50
Vikram A Punathambekar13-Apr-09 17:50 
AnswerRe: how to update mutliple columns with ado to a database? Pin
Vikram A Punathambekar13-Apr-09 17:48
Vikram A Punathambekar13-Apr-09 17:48 
QuestionClone DataGridView PinPopular
Kasperle13-Apr-09 13:54
Kasperle13-Apr-09 13:54 
QuestionHow custom class can be converted to common value type? Pin
Faisal Khatri13-Apr-09 11:09
Faisal Khatri13-Apr-09 11:09 
AnswerRe: How custom class can be converted to common value type? Pin
Colin Angus Mackay13-Apr-09 12:05
Colin Angus Mackay13-Apr-09 12:05 
QuestionDisplay a Custom Form Modally Pin
sevensilly13-Apr-09 10:19
sevensilly13-Apr-09 10:19 
AnswerRe: Display a Custom Form Modally Pin
Mycroft Holmes13-Apr-09 14:26
professionalMycroft Holmes13-Apr-09 14:26 
GeneralRe: Display a Custom Form Modally Pin
sevensilly14-Apr-09 5:33
sevensilly14-Apr-09 5:33 
Questionproblem with datagrid and column Pin
behzadcp13-Apr-09 8:25
professionalbehzadcp13-Apr-09 8:25 
AnswerRe: problem with datagrid and column Pin
Faisal Khatri13-Apr-09 11:10
Faisal Khatri13-Apr-09 11:10 
GeneralRe: problem with datagrid and column Pin
behzadcp13-Apr-09 16:50
professionalbehzadcp13-Apr-09 16:50 
QuestionHow to load images on background transperantly? Pin
Supra213-Apr-09 6:56
Supra213-Apr-09 6:56 
AnswerRe: How to load images on background transperantly? Pin
EliottA13-Apr-09 7:09
EliottA13-Apr-09 7:09 
QuestionThreads and Windows Forms [modified] Pin
kikeman13-Apr-09 6:23
kikeman13-Apr-09 6:23 
AnswerRe: Threads and Windows Forms Pin
Dave Kreskowiak13-Apr-09 8:52
mveDave Kreskowiak13-Apr-09 8:52 
GeneralRe: Threads and Windows Forms Pin
kikeman13-Apr-09 10:05
kikeman13-Apr-09 10:05 
GeneralRe: Threads and Windows Forms Pin
Dave Kreskowiak13-Apr-09 10:39
mveDave Kreskowiak13-Apr-09 10:39 
GeneralRe: Threads and Windows Forms Pin
kikeman13-Apr-09 11:10
kikeman13-Apr-09 11:10 
QuestionArray of Structs overwrite problem Pin
Bruce Coward13-Apr-09 5:41
Bruce Coward13-Apr-09 5:41 
I have been chasing this bug for three days now and wondered if anybody out there could point me in the right direction.

I have a circular array generated from a structure. We are writing data to this array and found that the second write was overwriting part of the first record. To simplify debugging we have put some test code that changes what is to be written and then does a second write. Here is the code:

class CAN
{
    // Members
    public struct CANTXSTRUCT
    {
        public int    PGN;
        public byte   DLC;
        public byte[] TxData;
    }

    private const int CANArraySize = 20;
    static private int CANFront = 1;
    static private int CANRear = 0;

    // Create static private circular array of CAN Tx messages
    static private CANTXSTRUCT[] arCANTx = new CANTXSTRUCT[CANArraySize + 1];

    // Methods
    //*********************************************************************
    // static public void QueueCANTxMsg()
    // This method is called to place a CAN Tx message on the rear of the
    // arCANTx circular array.
    //*********************************************************************
    static public void QueueCANTxMsg(int PGN, byte DLC, byte[]TxData)
    {
        // Just warn and return if arCANTx message array is full
        if ((CANRear + 2) % CANArraySize == CANFront)
        {
            MessageBox.Show("CAN Tx Array Overflow, Press OK to continue",
                                    "Error Warning", MessageBoxButtons.OK);
            return;
        }
        // Modulus Increment rear pointer
        CANRear = (CANRear + 1) % CANArraySize;

        // Store data in array
        CAN.arCANTx[CANRear].PGN = PGN;
        CAN.arCANTx[CANRear].DLC = DLC;
        CAN.arCANTx[CANRear].TxData = TxData;

        // Test Code
        TxData[0] = 0xFF;
        CANRear = (CANRear + 1) % CANArraySize;
        // Store test data in array
        CAN.arCANTx[CANRear].PGN = PGN;
        CAN.arCANTx[CANRear].DLC = DLC;
        CAN.arCANTx[CANRear].TxData = TxData;  // <---- Failing line

    } // End of QueueCANTxMsg()


When the failing line is executed it overwrites the first written CAN.arCANTx[CANRear].TxData value. The CANRear value appears to beworking correctly and I think the problem is associated with the byte array copy implicit in the failing line.

Can anyone see what I am doing wrong? Cheers Bruce Confused | :confused:
AnswerRe: Array of Structs overwrite problem Pin
Luc 64801113-Apr-09 6:06
Luc 64801113-Apr-09 6:06 
GeneralRe: Array of Structs overwrite problem Pin
Bruce Coward13-Apr-09 6:24
Bruce Coward13-Apr-09 6:24 
GeneralRe: Array of Structs overwrite problem Pin
Luc 64801113-Apr-09 7:17
Luc 64801113-Apr-09 7:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.