Форум: "Основная";
Текущий архив: 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
Время: 0.063 c