1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

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

  1. dima_lamo

    dima_lamo Гость

    Репутация:
    0
    [Warning] Unit9.pas(228): Variable 'position' might not have been initialized

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

    Galayko Гость

    Репутация:
    0
    В ряде случаев компилятор полагает, что эта переменная в момент её первого использования может быть не инициализирована. Например:
    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 Гость

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

    dima_lamo Гость

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

    root Гость

    Репутация:
    0
    Для: dima_lamo
    это очень опасная ситуация с точки зрения работы программы
    Пример
    Код:
    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.
     

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