[warning] Unit9.pas(228): Variable 'position' Might Not Have B

Тема в разделе "Delphi - Система", создана пользователем dima_lamo, 16 янв 2008.

  1. dima_lamo

    dima_lamo Гость

    [Warning] Unit9.pas(228): Variable 'position' might not have been initialized

    Чё эт за фигня??? Компилятор прогу компилирует, но пишет это
     
  2. Galayko

    Galayko Гость

    В ряде случаев компилятор полагает, что эта переменная в момент её первого использования может быть не инициализирована. Например:
    if sender=nil then position := 100 else position := 200;
    должно быть нормально, а вот
    if sender=nil then position := 100;
    if sender<>nil then position := 200;

    по идее даст предупреждение.
    Разумеется, это о неверных (по сути) срабатываниях.
     
  3. dima_lamo

    dima_lamo Гость

    Но глюков в проге нет... Буду смотреть чё за нафиг и исправлять...
     
  4. dima_lamo

    dima_lamo Гость

    Я к этому и стремлюсь... компилятор без причины орать не будет...
     
  5. root

    root Гость

    Для: dima_lamo
    это очень опасная ситуация с точки зрения работы программы
    Пример
    Код (Text):
    Var mydim   : TStringList;
    i: integer;
    s: string;
    Begin
    s:='';
    IF s <> '' Then
    Begin
    mydim:=TStringList.Create;
    mydim.Text:=s;
    End;
    i:=mydim.Count;

    End;
    вот и смотри что буде если передать в функцию пустое значение :( как обычно Access Violation.
     

Поделиться этой страницей