Если быть кароче, у меня есть программа. Работает она через сокеты.
У меня идет пересылка сообщения с клиента1 на клиент2. Пересылается строка в 12 символов.
Клиент2 принимает в мемо сообщение и тут возникает проблема. Собственно я пытаюсь записать из мемо в переменную типа стринг и возникает ошибка access violation. Ниже приведен листинг проги. Прошу помочь исправить эту ошибку и если будут другие, устраните их тоже пожалуйста. Если не сложно скажите в чем были мои ошибки.
| Код | var Form1: TForm1; ini : Tinifile; buff : string[13]; S1 : string[10]; S2 : string[10]; S3 : string[10]; S4 : string[10]; S5 : string[10]; S6 : string[10];
procedure TForm1.CharIni; var i: integer; V1 : integer; V2 : integer; V3 : integer; V4 : integer; V5 : integer; V6 : integer; mMass : String[13]; Begin mMass:= Chat2.Lines.Strings[0]; buff:=mMass;
S1:= buff[0]+buff[1]+buff[2]; S2:= buff[3]; S3:= buff[4]+buff[5]+buff[6]; S4:= buff[7]; S5:= buff[8]; S6:= buff[9]+buff[10]+buff[11];
{ V1:= StrToInt(S1); V2:= StrToInt(S2); V3:= StrToInt(S3); V4:= StrToInt(S4); V5:= StrToInt(S5); V6:= StrToInt(S6);
ini:= TInifile.Create('C:\Way'); ini.WriteInteger('Player_A','X_PL',V1); ini.WriteInteger('Player_A','flag_LR_A',V2); ini.WriteInteger('Player_B','X_PL_2',V3); ini.WriteInteger('Player_B','Flag_LR_B',V4); ini.WriteInteger('Control','Control',V5); ini.WriteInteger('XP','Life_B',V6); } end;
procedure TForm1.Chat2Change(Sender: TObject); begin CharIni; end;
|
Был и второй вариант, в нем все так же, кроме как:
| Код | mMass:= Chat2.Lines.Strings[0]; for i:=0 to Length(mMass) do begin buff[i]:=mMass[i]; end;
|
|