Home > Back-end >  How to solve the "Error [C] SRData. CPP (34) : E2303 Type name expected Error [C] SRData. CPP&q
How to solve the "Error [C] SRData. CPP (34) : E2303 Type name expected Error [C] SRData. CPP&q

Time:09-24

Thanks for comment!

NMUDP control is applied to implement to send and receive data,

An error in the following situation:

[Error] c + + SRData. CPP (34) : E2303 Type name expected
/c + + Error SRData. CPP (65) : E2089 Identifier 'NMUDP1DataSend' always have a type, the qualifier.
The header file SRData. H
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

# # ifndef SRDataH
# define SRDataH
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
# include & lt; Classes. Hpp>
# include & lt; Controls. Hpp>
# include & lt; StdCtrls. Hpp>
# include & lt; Forms. Hpp>
# include & lt; ComCtrls. Hpp>
# include & lt; Dialogs. Hpp>
# include & lt; NMUDP. Hpp>
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
The class TForm1: public TForm
{
__published://IDE - managed Components
Label1 TLabel *;
TLabel * Label2;
TLabel * Label3;
TLabel * Label4;
TEdit Edit1 *;
For the TButton *;
TButton * Button2;
TMemo * Memo1;
TNMUDP * NMUDP1;
TStatusBar * StatusBar1;
TOpenDialog * OpenDialog1;
Edit2 TEdit *;
Edit3 TEdit *;
Void __fastcall Button1Click (TObject * Sender);
Void __fastcall Button2Click (TObject * Sender);
Void __fastcall NMUDP1DataSend (TObject * Sender);
Void __fastcall NMUDP1BufferInvalid (bool & amp; Handled,
_ARRAYOF Buff, char * const int Buff_Size, int & amp; Length);
Private://User declarations
Public://User declarations
__fastcall TForm1 (TComponent * Owner);
};
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Extern PACKAGE TForm1 * Form1;
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
# endif

The definition file: SRData. CPP
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

# include & lt; The VCL. H>
# pragma hdrstop

# include "SRData. H"
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
# pragma package (smart_init)
# pragma resource "*. DFM
"TForm1 * Form1;
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
__fastcall TForm1: : TForm1 (TComponent * Owner)
: TForm (the Owner)
{
}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

Void __fastcall TForm1: : Button1Click (TObject * Sender)
{
If (OpenDialog1 - & gt; The Execute ())
{
Edit3 - & gt; Text=OpenDialog1 - & gt; The FileName.
}
Memo1 - & gt; Text="";

}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

Void __fastcall TForm1: : Button2Click (TObject * Sender)
{
If (Edit3 - & gt; Text=="")
{
ShowMessage (" both Please select one file ");
return;
}
NMUDP1 - & gt; RemoteHost=Edit1 - & gt; The Text;//the hostname and port,
NMUDP1 - & gt; RemotePort=StrToInt (Edit2 - & gt; The Text);
NMUDP1 - & gt; ReportLevel=Nmudp: : Status_Basic;
Const int ThreshHold=2048;//read 2048 bytes of data
TFileStream * Strm=new TFileStream (Edit3 - & gt; Text, fmOpenRead);//read the data stream
Char * Buffer=new char [ThreshHold];//Read the data buffer
Int BuffSize=Strm - & gt; The Size;//the file size??? T 'oD?
Int Buffers=BuffSize/ThreshHold;//loop times
for(int i=0; I<=Buffers; I++)//read the data
{
If (BuffSize> 2048)
{
Strm - & gt; Read (Buffer, ThreshHold);
NMUDP1 - & gt; SendBuffer (Buffer, the ThreshHold, ThreshHold);
}
The else
{
Strm - & gt; Read (Buffer, BuffSize);
NMUDP1 - & gt; SendBuffer (Buffer, the ThreshHold, ThreshHold);
BuffSize=ThreshHold;
ShowMessage (" hehe ");
}
The delete [] Buffer;
Delete the Strm;
Memo1 - & gt; Lines - & gt; Add (" ");

}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : NMUDP1DataSend (TObject * Sender)
{
StatusBar1 - & gt; Panels - & gt; The Items [0] - & gt; Text="File Completed
"}
//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Void __fastcall TForm1: : NMUDP1DataReceived (TComponent * Sender, int NumberBytes, AnsiString FromIP, int Port)
{
Char * TmpBuffer=new char [NumberBytes + 1];
int i;
i=0;
Try {//read a received file stream
NMUDP1 - & gt; ReadBuffer (TmpBuffer NumberBytes, I);
TmpBuffer [NumberBytes]='\ 0';
Memo1 - & gt; Text=Memo1 - & gt; The Text + TmpBuffer;
}
_finally {
The delete [] TmpBuffer;
}
}



//-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

; }

CodePudding user response:

NMUDP1DataReceived no statement,
Form click select NMUDP1, object viewer - events, OnDataReceived double-click on the right side of the grid, produce
Void __fastcall TForm1: : NMUDP1DataReceived (TComponent * Sender, int NumberBytes, AnsiString FromIP, int Port)
The event handler, the code is written in the function,

Void __fastcall NMUDP1BufferInvalid (bool & amp; Handled,
nullnullnullnull
  • Related