Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.07.13;
Скачать: [xml.tar.bz2];

Вниз

Динамический массив   Найти похожие ветки 

 
leshka   (2013-09-10 14:35) [0]

ПриВЕт!
Есть код


procedure TfmBak.FormCreate(Sender: TObject);
var n:Integer;
short_name_diagnos: array of string[30];
begin
 fmVsp:=TfmVsp.Create(Application);

fmVsp.mmo2.Lines.LoadFromFile("Analiz\Short_diagnost.dat");
SetLength(short_name_diagnos,fmVsp.mmo2.Lines.Count-1);

  for n:=0 to fmVsp.mmo2.Lines.Count-1 do
  begin
   short_name_diagnos[n]:=fmVsp.mmo2.Lines[n];
    end;

выдает  ошибку при запуске "Access violation at ..."
подскажите что не так
Спасибо!


 
Сергей М. ©   (2013-09-10 15:28) [1]

SetLength(short_name_diagnos,fmVsp.mmo2.Lines.Count-1); // как минимум вот это не так


 
Sha ©   (2013-09-10 20:11) [2]

Загрузка текстового файла в массив строк через TMemo на вспомогательной форме )
Круть !


 
brother ©   (2013-09-11 03:44) [3]

медики... им можно... )


 
leshka   (2013-09-11 10:02) [4]

Парни, возникла еще небольшая проблемка:
При завершении работы программы вылезает ошибка runtime error 217 at 00402700
почитал в инете что это связано с динамическими массивами, но что именно я не понял. Подскажите пожалуйста


 
Плохиш ©   (2013-09-11 10:47) [5]

Ошибка в 17й строке.

PS. Вот интересно, нафига разработчики среды время на создание отладчика тратили? Всё-равно уборщицы им не пользуются.


 
leshka   (2013-09-11 11:03) [6]

В 17-й строке написано Label1: TLabel;
Что тут может быть не так!!!???


 
stas ©   (2013-09-11 11:10) [7]

leshka   (11.09.13 11:03) [6]

...убил )


 
stas ©   (2013-09-11 11:15) [8]

leshka   (11.09.13 11:03) [6]
надо еще и вычистить память после того как заняли динамическим массивом.
Лучше использовать готовые объекты для этих целей, TStringList например.

А по поводу 17-й строки, так говорят, когда кода полностью не видели. Как можно дать ответ не зная что вы там написали.


 
stas ©   (2013-09-11 11:26) [9]

procedure TfmBak.FormCreate(Sender: TObject);
var n:Integer;
List:TStringList;   //short_name_diagnos: array of string[30];
begin
...
List:=TStringList.Create(); //создаем экземпляр класса
try  
List.LoadFromFile (GetFilePath(ParamStr(0))+"Analiz\Short_diagnost.dat"); // загружаем файл по пути, GetFilePath(ParamStr(0)) - определяем путь к программе

{
обратится к строке в List  - List[i], где i порядковый номер строки
}

finally
List.free // освобождаем память
end;

end;


как-то так


 
sniknik ©   (2013-09-11 11:28) [10]

это не связано с массивами, не нужно по единственно найденному/прочтенному случаю делать глобальные выводы.

это любая ошибка, твоя/твоей программы, произошедшая либо до инициализации ексептов (в SysUtils) либо после из "разинициализации".

"там"/прочитанном тобой случае причина в них. у тебя... в 17й строке.

> В 17-й строке написано
17я строка это мем, значит любую строку видимую тобой, но не видимую отвечающим.

> Что тут может быть не так!!!???
вообще, много чего, от контекста зависит. ну например (1 из кучи вариантов) это прописано у тебя в рекорде/модуле глобальной переменной, создается от формы, освобождается в finallize своего модуля когда формы уже нет, после финализации SysUtils. вуаля - runtime error 217


 
[ВладОшин] ©   (2013-09-11 11:31) [11]


> leshka

Юзайте отладку, пригодится

если надо сдать и забыть
на вскидку:

procedure TfmBak.FormCreate(Sender: TObject);
short_name_diagnos: array of string[30];

попробуйте отсюда вынести массив в форму

type
 TForm1 = class(TForm)
 public
   { Public declarations }
   short_name_diagnos: array of string[30];
 end;



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2014.07.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
15-1387802363
Ламо777
2013-12-23 16:39
2014.07.13
Алгоритм распространения пламени


15-1387830602
Юрий
2013-12-24 00:30
2014.07.13
С днем рождения ! 24 декабря 2013 вторник


15-1387776401
ProgRAMmer Dimonych
2013-12-23 09:26
2014.07.13
Восстановление NTFS без переформатирования из RAW


2-1378798421
Сергей
2013-09-10 11:33
2014.07.13
Бит бтн glyth


3-1299765129
stas
2011-03-10 16:52
2014.07.13
синтаксис оракла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский