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

Вниз

Компиляция программы   Найти похожие ветки 

 
ALEIIIKA   (2004-07-05 09:05) [0]

Во время компиляции программы выдает сообщение об ошибке:
Declaration expected but "IF" found
в строке

if ComboBox1.Text<>"" then
 begin
   Canvas.Font.Color:=clRed;
   Canvas.Font.Size:=18;
 end;
,
пробовал компилировать из командной строки - все компилируется нормально. EXE  файл создается.
Если убираешь строку проверки условия, то ругается на то, что не знает что такое Канвас, помогите в чем причина.


 
KADAN ©   (2004-07-05 09:14) [1]

а этот exe-файл запускается?


 
ALEIIIKA   (2004-07-05 09:18) [2]

Да запускается и работает нормально.


 
ALEIIIKA   (2004-07-05 09:20) [3]

Но еще одна фишка:

var
x : integer;
begin
 ......
 {выполняются действия}
 используется x
 ......
 x := 3; // а здесь выдает аналогичную ошибку
end;

файл компилируется в командной строке без ошибок, и нормально работает, а из среды - никак


 
KADAN ©   (2004-07-05 09:25) [4]

то есть аналогичную? опять говорит что if не нужен? или Canvas не объявлена?


 
Ega23 ©   (2004-07-05 09:26) [5]

Код всей процедуры давай.


 
Digitman ©   (2004-07-05 09:30) [6]


> Declaration expected but "IF" found
> в строке
>
> if ComboBox1.Text<>"" then


ошибка где-то выше по тексту, а не в этой строке

Declaration expected but "IF" found означает, что при синтакс.разборе предыдущего оператора компилятор ожидал некий токен, подразумевающий некую обязательную декларацию (например, некоего идентификатора), а вместо этого обнаружил оператор IF, что недопустимо в тек.контексте


 
KADAN ©   (2004-07-05 09:33) [7]


> Digitman ©   (05.07.04 09:30) [6]

Однако, файл компилируется в командной строке без ошибок, и нормально работает


 
Reindeer Moss Eater ©   (2004-07-05 09:36) [8]

Однако, файл компилируется в командной строке без ошибок, и нормально работает

Другой файл компилируется, а не этот


 
Ega23 ©   (2004-07-05 09:37) [9]

Однако, файл компилируется в командной строке без ошибок, и нормально работает

Это ещё ничего не значит. Давай код ВСЕЙ процедуры.


 
Andr ©   (2004-07-05 10:41) [10]

Или хотя бы предыдущую строчку :)


 
Anatoly Podgoretsky ©   (2004-07-05 10:53) [11]

И другой не компилирует, вот запускается другой это точно.


 
ZZZubec ©   (2004-07-05 11:54) [12]

Насколько вижу я из твоего примера:

>Если убираешь строку проверки условия, то ругается на то, что >не знает что такое Канвас, помогите в чем причина.

Очевидно у компонента TComboBox есть класс TCanvas, поэтому, когда ты убираешь условие, он не может понять чей Canvas, для правильной транскрипции попоробуй написать:
ComboBox1.Canvas.Font.Color:=clRed;
ComboBox1.Canvas.Font.Size:=18;

Всех реград! 8)


 
ALEIIIKA   (2004-07-05 12:51) [13]

Все нашел, оказывается в конце одной длинной строки потерялся end
теперь все работает.
Всем спасибо


 
Mim1 ©   (2004-07-05 17:27) [14]

Тоже из раздела не верь глазам своим.

[2004-07-02 16:18:55] <qdron> народ!!!!!!!!
[2004-07-02 16:19:00] <qdron> ДАйте хелпу
[2004-07-02 16:21:42] <Mim> Привет
[2004-07-02 16:21:49] <Mim> Какую хелпу?
[2004-07-02 16:22:08] <qdron> по проге
[2004-07-02 16:22:17] <qdron> воть кусок исходного текста
[2004-07-02 16:22:28] <Mim> ыыы
[2004-07-02 16:24:06] <qdron> unit Unit1;
[2004-07-02 16:24:06] <qdron> interface
[2004-07-02 16:24:06] <qdron> uses
[2004-07-02 16:24:06] <qdron>  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
[2004-07-02 16:24:06] <qdron>  Dialogs, StdCtrls;
[2004-07-02 16:24:06] <qdron> Type
[2004-07-02 16:24:06] <qdron> TForm1 = class(TForm)
[2004-07-02 16:24:08] <qdron> ListBox1: TListBox;
[2004-07-02 16:24:08] <qdron> Button1: TButton;
[2004-07-02 16:24:10] <qdron> procedure Button1Click(Sender: TObject);
[2004-07-02 16:24:10] <qdron> private
[2004-07-02 16:24:21] <qdron> ругаеться на строку- unit Unit1;
[2004-07-02 16:25:37] <Mim> а как ругается?
[2004-07-02 16:26:01] <qdron> матом:)
[2004-07-02 16:26:21] <Mim> Наверное говорит что unit это зарезервированное слово ? :)
[2004-07-02 16:27:41] <qdron> [Warning] Unit1.pas(41): Symbol "faVolumeID" is specific to a platform
[2004-07-02 16:43:52] <Mim> ты это к чему
[2004-07-02 16:46:47] <Mim> Вообщем можно это отключить
[2004-07-02 16:46:47] <Mim> {$WARN UNIT_PLATFORM OFF}
[2004-07-02 16:48:11] <qdron> неа не как
[2004-07-02 16:48:31] <Mim> Мдя :(
[2004-07-02 16:48:52] <Mim> The whole unit is tagged (using the platform hint directive) as one that contains material that may not be available on all platforms. If you are writing cross-platform applications, it may cause a problem. For example, a unit that uses objects defined in OleAuto might be tagged using the PLATFORM directive
[2004-07-02 16:48:52] <Mim> The $WARN UNIT_PLATFORM ON/OFF compiler directive turns on or off all warnings about the platform directive in units where the platform directive is specified.
[2004-07-02 16:49:09] <Mim> Должно исправляться
[2004-07-02 16:49:53] <Mim> Смотри в общем в справке раздел Warning messages
[2004-07-02 16:50:19] <Mim> В настройках проекта должна быть галочка делающая тоже самое
[2004-07-02 16:50:32] <Mim> Если это не срабатывает то ищи ее
[2004-07-02 16:50:46] <Mim> название в стиле WARN UNIT_PLATFORM
[2004-07-02 16:51:19] <qdron> кстать у тя русского delphi Help нету?
[2004-07-02 16:51:37] <Mim> Не только у меня
[2004-07-02 16:51:44] <Mim> его вообще не существует
[2004-07-02 16:52:19] <qdron> Есть
[2004-07-02 16:52:32] <Mim> есть издевательства над справкой, которые хелпом назвать нельзя
[2004-07-02 16:52:32] <qdron> у мя за спиной такой счастливый сидит с ним....
[2004-07-02 16:52:43] <qdron> только эта сволочь не доет его
[2004-07-02 16:52:49] <Mim> Книгой эта справка называется?
[2004-07-02 16:52:51] <Mim> :)
[2004-07-02 16:53:42] <Mim> Все равно без знания технического английского серьезным програмистом не стать
[2004-07-02 16:53:52] <qdron> нет
[2004-07-02 16:54:03] <Mim> хотябы на уровне чтения справки
[2004-07-02 16:54:11] <qdron> обычный delphi help только русский
[2004-07-02 16:54:18] <Mim> :)
[2004-07-02 16:56:39] <qdron> блин...чеж ей не хватает...то??!
[2004-07-02 16:56:53] <qdron> могеть и правда изза платформы....?
[2004-07-02 16:57:44] <Mim> Он говорит что эта константа специфична для платформы
[2004-07-02 16:57:58] <Mim> то есть под линуксом не пойдет твоя программа
[2004-07-02 16:58:09] <Mim> Причем это не эррор а варнинг
[2004-07-02 16:58:34] <Mim> то есть програтмма компилится, нормально
[2004-07-02 16:58:42] <Mim> но просто при этом ругается
[2004-07-02 17:06:34] <qdron> нет не компилиться ругаеться на эту строку и все я имею явные подозрения что проста нада чтото перед этой строкой поставить
[2004-07-02 17:06:42] <qdron> есстесно не //
[2004-07-02 17:16:34] <Mim> Ну что я могу сказать
[2004-07-02 17:16:43] <Mim> чудес на свете не бывает
[2004-07-02 17:16:53] <Mim> И если один челове мне гоорит
[2004-07-02 17:16:57] <Mim> что вода горит
[2004-07-02 17:17:03] <Mim> то что я могу ответить
[2004-07-02 17:17:23] <Mim> Всегда при warning"е компилится
[2004-07-02 17:17:30] <Mim> А у тебя чудо :)
[2004-07-02 17:17:44] <Mim> Может ошибка следующей строкой у тебя идет?
[2004-07-02 17:38:01] <qdron> нет
[2004-07-02 17:38:27] <qdron> хатя....еси я удаляю эту строку т...выдаеть типа ошибка....
[2004-07-02 17:38:39] <qdron> и так до самого конца все остальные строки непральные....
[2004-07-02 17:38:44] <qdron> а энто не реально....
[2004-07-02 17:43:30] <Mim> смешно
[2004-07-02 17:43:50] <Mim> Давай чт оли весь код сюда
[2004-07-02 17:47:14] <qdron> сюда?
[2004-07-02 17:47:18] <qdron> шутишь чтоль?
[2004-07-02 17:47:37] <qdron> я во первых затрахаюсь.....во вторых ваш бот меня забанит
[2004-07-02 17:48:13] <Mim> Блин, выложи хоть процедуру
[2004-07-02 17:48:19] <Mim> в которой бага
[2004-07-02 17:50:54] <qdron> unit Unit1;
[2004-07-02 17:50:55] <qdron> interface
[2004-07-02 17:50:55] <qdron> uses
[2004-07-02 17:50:55] <qdron>   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
[2004-07-02 17:50:55] <qdron>   Dialogs, StdCtrls;
[2004-07-02 17:50:56] <qdron> type
[2004-07-02 17:50:56] <qdron>   TForm1 = class(TForm)
[2004-07-02 17:50:58] <qdron>     ListBox1: TListBox;
[2004-07-02 17:50:58] <qdron>     Button1: TButton;
[2004-07-02 17:51:00] <qdron>     procedure Button1Click(Sender: TObject);
[2004-07-02 17:51:00] <qdron>   private
[2004-07-02 17:51:58] <Mim> Ладно, давай тогда в приват мне

<там>
[2004-07-02 17:56:06] <Mim> Назови чтоли модуль как нибудь по другому
[2004-07-02 17:56:15] <Mim> Например unit Mim1;
[2004-07-02 17:56:33] <Mim> Больше ошибок не вижу
[2004-07-02 17:56:40] <Mim> Давай остальной код
<тут мне в приват свалилось три куска никчемного кода>
<на канале>

[2004-07-02 18:03:09] <Mim> Ладно забей я домой
[2004-07-02 18:03:26] <qdron> я тебе почти докидал
[2004-07-02 18:06:25] <Mim> У меня компилится
[2004-07-02 18:06:25] <Mim> C:\>dcc32 mod1.pas
[2004-07-02 18:06:25] <Mim> Borland Delphi Version 15.0
[2004-07-02 18:06:25] <Mim> Copyright (c) 1983,2002 Borland Software Corporation
[2004-07-02 18:06:25] <Mim> mod1.pas(19) Warning: File not found: "mod1.dfm"
[2004-07-02 18:06:25] <Mim> mod1.pas(33) Warning: Symbol "faVolumeID" is specific to a platform
[2004-07-02 18:06:25] <Mim> mod1.pas(73)
[2004-07-02 18:06:25] <Mim> 74 lines, 0.33 seconds, 1192 bytes code, 8 bytes data.
[2004-07-02 18:06:42] <Mim> Ошибок синтаксиса нет


Отсюда вывод. Если ктото говорит то чего быть не может не верь - он врет


 
ламер ©   (2004-07-05 19:01) [15]

> ALEIIIKA   (05.07.04 12:51) [13]
> Все нашел, оказывается в конце одной длинной строки потерялся end
> теперь все работает.
> Всем спасибо
вот именно поэтому каждый begin и end должен стоять на отдельной строке. строго друг под другом.


 
афвуд   (2004-07-05 21:23) [16]

Ага. и ещё Можно ставить end сразу после того как написа begin. По крайней мере я себе это усвоил - помогает Ни разу с тех пор end"ов не терял.


 
GEN++ ©   (2004-07-05 23:28) [17]

> ALEIIIKA  
Можно еще так:

  for i:=1 to 15 do
   begin
     .....
     .....
     if i=5 then
       begin
         .....
         ....
       end ;//if i=5
       
   end;//for i:=1 to 15 <b/>


 
Amoeba ©   (2004-07-06 12:50) [18]

Установи пакет экспертов Castalia (очень недурная штука!) - и более таких потерь не будет.

Скачивать отсюда:
http://www2.0zones.com:808/SoftDown.asp?ID=548
А здесь кряк:
http://www2.0zones.com:808/SoftDown.asp?ID=11279

Подробности о Castalia здесь:
http://www.delphi-expert.com/castalia2/


 
Sandman25 ©   (2004-07-06 17:26) [19]

[18] Amoeba ©   (06.07.04 12:50)

У меня Castalia вызывала AV при нажатии Shift+I и при выходе из среды. Пришлось снести


 
Amoeba ©   (2004-07-06 17:36) [20]

У меня Castalia 2.3 с Delphi5 работает нормально.


 
Sandman25 ©   (2004-07-06 17:38) [21]

У меня была 2.2 и Delphi6. Попробую 2.3, спасибо!


 
Agent13 ©   (2004-07-06 18:15) [22]


> Ага. и ещё Можно ставить end сразу после того как написа
> begin.

Точно! 100% действует. Проверено на себе.


 
Amoeba ©   (2004-07-06 18:31) [23]


> Sandman25 ©   (06.07.04 17:38) [21]

По указанным мной ссылкам сейчас выложена уже версия 2.4 (вышла несколько дней назад)



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

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

Наверх





Память: 0.52 MB
Время: 1.553 c
1-1088663857
Галинка
2004-07-01 10:37
2004.07.18
Печать из Memo


1-1088825202
zac
2004-07-03 07:26
2004.07.18
Не запускать два раза


14-1088518930
PenguinX
2004-06-29 18:22
2004.07.18
Вопрос про тег DIV


1-1088618061
Destroyer
2004-06-30 21:54
2004.07.18
Картинку на SpeedButton в runtime


6-1084710023
delpher_gray
2004-05-16 16:20
2004.07.18
Частое выполнение Get (HTTP). Без ошибок никак :)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский