Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с Memo 
:(
    Опции темы
nightlife
Дата 1.7.2010, 03:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.4.2009

Репутация: нет
Всего: нет



Если быть кароче, у меня есть программа. Работает она через сокеты.

У меня идет пересылка сообщения с клиента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;

 

Это сообщение отредактировал(а) nightlife - 1.7.2010, 07:48
PM MAIL   Вверх
Dapo
Дата 1.7.2010, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



Chat2.Lines.Strings[0]; - //тут ошибка? Читаем про TStrings
Используйте Chat2.Lines[0]

Зачем mMass? Или нет - зачем buff?
Ini-файл создали и не уничтожили.
запихивать данную процедуру в OnChange ??? опасно как минимум.
В остальном не понятно какую задачу решаете, вообще припвязываться к количеству символов в строке да еще и конкретному стрингу да еще и к тому что strtoint всегда работать будет - плохой (никакой) стиль обычно заканчивающийся AV. Не берусь анализировать ини-файл, но вот это:
Код

ini.WriteInteger('Player_A','flag_LR_A',V2);
ini.WriteInteger('Player_B','Flag_LR_B',V4);

свидетельство непонимания - что и зачем хотите хранить.
да и зачем переводить в инт, а потом писать в файл если можно сделать WriteString (s)

Это сообщение отредактировал(а) Dapo - 1.7.2010, 08:49
PM MAIL   Вверх
БелАмор
Дата 1.7.2010, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 10.6.2010
Где: Россия

Репутация: 5
Всего: 17



Цитата(Dapo @  1.7.2010,  08:41 Найти цитируемый пост)
Chat2.Lines.Strings[0]; - //тут ошибка? Читаем про TStrings
Используйте Chat2.Lines[0]


Это разная запись одного и того-же... См. "свойство по умолчанию"

PM   Вверх
Dapo
Дата 2.7.2010, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



Так точно.

Телепатить по поводу события вызывающего AV в коде автора особого желания не было.

Это сообщение отредактировал(а) Dapo - 2.7.2010, 02:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0783 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.