Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2013, 10:38   #1
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию Delphi 2009 + case = глюк

У меня Windows 7 и Delphi 2009
Создаю простой класс, но только я вставляю в функцию case, и делаю ошибку ниже этой функции или в ней , но в case или ниже него , то подчёркивается выше там где сделана ошибка, если начать компилировать - то тоже выделит строку выше ошибки.
И если навести курсор на переменую - то должно выскакивать окошко где облявлена переменая и что за переменая, то это окошко начинает моргать, и если так и оставить курсор то делфи вылетит с ошибкой

Может кто то подскажет что за лажа, пробывал на другой машине - теже яйца.

Код:
unit Unit4;

interface

uses Variants;

type
TCells=class
  private
    FC:PVariant;
    FCellObj:Variant;
    Col, Row: Longint;
    function GetValue :Variant;
    procedure SetValue(const Value: Variant);
  public
    property Value:Variant read GetValue write SetValue;
  end;

implementation

{ TCells }


function TCells.GetValue: Variant;
var
 iType : Integer;
begin
  iType := FCellObj.getType;
  case iType of
   1 : Result := FCellObj.GetValue;
   2 : Result := FCellObj.GetString;
   3 : Result2 := FCellObj.GetValue;
  end;

 FCellObj:=Unassigned;
end;

procedure TCells.SetValue(const Value: Variant);
begin

end;

end.


Ошибка тут
Код:
3 : Result2 := FCellObj.GetValue;
а подчёркивает тут
Код:
1 : Result := FCellObj.GetValue;

Последний раз редактировалось lexaltd; 25.10.2013 в 10:44.
lexaltd вне форума Ответить с цитированием
Старый 25.10.2013, 11:02   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Нет ничего совершенного, в т.ч. не совершенна и среда разработки, любая. В низу же показывает, что Result2 не определено, мало?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.10.2013, 11:12   #3
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Нет ничего совершенного, в т.ч. не совершенна и среда разработки, любая. В низу же показывает, что Result2 не определено, мало?
Конечно мало - у меня после этой функции ещё штук 20 других и тогда смещение происходит не 2 строки, а на 20-30 строк , тоесть курсор при компиляции становится вобще не понятно где, закладки тоже сбиваются

И у меня таких функций с case - несколько

И если сделал ошибку ,и начал компилировать то всё иди ищи где напортачил.

Может у кого то стоит Delphi 2009 - попробуйти код выше приведёный - будет такая лажа или нет?

Последний раз редактировалось lexaltd; 25.10.2013 в 11:15.
lexaltd вне форума Ответить с цитированием
Старый 25.10.2013, 11:15   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

мужики рассказывали, что такие глюки в среде Delphi бывают, когда в тексте программы переводы строк некорректные:

Цитата:
3-11-00 18:01
Не всё так радужно, у меня как-то синие маркеры на три строчки
вниз относительно текста уехали Трассировка забавнейшая была -
нажимаешь F8, а сам ищешь взглядом строку, которая выполняется
в данный момент на самом деле....
Dmitriy O Popkov


28-11-00 15:44
Отчет о вскрытии "неправильного" кода.
Ха, вскрытие показало, что в исходниках в нескольких местах вместо
стандартного CR LF (#13#10) наличиствовало только LF #10. Компилятор
строки разделенные LF считает одной строкой, а редактор этот LF все-таки
отображает. В результате компайлер дает один номер строки, а в редакторе
это выглядит по другому. Это ни в коем сл-е не баг компайлера,
а скорее редактора. И даже не дельфовского, а того в кот-м это первоначально
писалось .
Вылечено было заменой LF на CR LF.
Вывод -- не спешите с выводами . Анализируйте проблему.
Не может глючить компайлер, если прога работает.
Serge S. Fakas


29-11-00 07:15
Исправляеться просто. СКопируйте текст модуля в Ворд, сохраните документ, откройте его заново,
и скопируйте текст обратно в окно пректа.

p.s. если не поможет, возьмите Unit4.pas и Unit4.dfm - запакуйте в архив, архив сюда, на форум. Посмотрим..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.10.2013, 11:35   #5
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
мужики рассказывали, что такие глюки в среде Delphi бывают, когда в тексте программы переводы строк некорректные:

Исправляеться просто. СКопируйте текст модуля в Ворд, сохраните документ, откройте его заново,
и скопируйте текст обратно в окно пректа.


p.s. если не поможет, возьмите Unit4.pas и Unit4.dfm - запакуйте в архив, архив сюда, на форум. Посмотрим..
Огромное Спасибо помогло!
И самое и интересное скопировал текст с выше приведённого и тоже заработало.
А я уже и Делфи переустанавливал, хорошо что операционку не успел переустановить.

Последний раз редактировалось lexaltd; 25.10.2013 в 11:38.
lexaltd вне форума Ответить с цитированием
Старый 25.10.2013, 11:48   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Да не за что!
Рад, что совет оказался полезным!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глюк в Delphi 2010??? Alexei91 Софт 6 06.08.2010 22:27
Глюк delphi? Сергей089 Общие вопросы Delphi 4 23.07.2010 12:57
Непонятный глюк Delphi 2009 aesoem Общие вопросы Delphi 3 15.08.2009 12:30
ОООЧЕНЬ бальшой глюк Delphi 2009 aesoem Общие вопросы Delphi 5 07.08.2009 20:47
глюк с окнами Delphi Andrei Win Api 4 06.02.2008 22:51