我想将一个数据库的值做计算,通过socket传给另一个数据库,第一个库要循环产生5组10个值,我想用sendbuf把这5组数传给另一数据库,但是编译通过后,运行有错误。
发送端:
void __fastcall TForm1::Table1CalcFields(TDataSet *DataSet)
{
AnsiString *buf[20];
if(Edit1->Text == Table1MobilNo->Value)
{
for(int i=10;i--;i>0)
{
Label7->Caption = rand();
Table1Sres->Value = Label7->Caption*Table1Ki->Value;
*buf[i+10] = Label7->Caption; [b]错误提示处“Access violation at address 400068AA in module 'rtl60.bpl'.Read of address 0C7CC07D”[/b]
*buf[i] = Table1Sres->Value;
}
ServerSocket3->Socket->Connections[0]->SendBuf(buf[20],sizeof(buf));
}
}
接收端:
void __fastcall TForm1::ClientSocket3Read(TObject *Sender,
TCustomWinSocket *Socket)
{
AnsiString *buf[20]; [b]这个地方不知道对不对[/b]
Socket->ReceiveBuf(buf[20],sizeof(buf));
for(int j= 10;j--;j>0)
{
Table2->Insert();
Table2Rand->Value = StrToInt(*buf[j+10]);
Table2Sres->Value = StrToInt(*buf[j]);
}
ServerSocket1->Socket->Connections[0]->SendText(Table2Rand->Value);
}

请问有什么方法可以解决,谢谢。