![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компиляция программы
ALEIIIKA © (2004-07-05 09:05:00)Во время компиляции программы выдает сообщение об ошибке:
Declaration expected but 'IF' found
в строке
if ComboBox1.Text<>'' then
begin
Canvas.Font.Color:=clRed;
Canvas.Font.Size:=18;
end;
,
пробовал компилировать из командной строки - все компилируется нормально. EXE файл создается.
Если убираешь строку проверки условия, то ругается на то, что не знает что такое Канвас, помогите в чем причина.
Amoeba (2004-07-06 18:31:00) [1]
> Sandman25 © (06.07.04 17:38) [21]
По указанным мной ссылкам сейчас выложена уже версия 2.4 (вышла несколько дней назад)
Agent13 (2004-07-06 18:15:00) [2]
> Ага. и ещё Можно ставить end сразу после того как написа
> begin.
Точно! 100% действует. Проверено на себе.
Sandman25 (2004-07-06 17:38:00) [3]У меня была 2.2 и Delphi6. Попробую 2.3, спасибо!
Amoeba (2004-07-06 17:36:00) [4]У меня Castalia 2.3 с Delphi5 работает нормально.
Sandman25 (2004-07-06 17:26:00) [5][18] Amoeba © (06.07.04 12:50)
У меня Castalia вызывала AV при нажатии Shift+I и при выходе из среды. Пришлось снести
Amoeba (2004-07-06 12:50:00) [6]Установи пакет экспертов 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/
GEN++ (2004-07-05 23:28:00) [7]> ALEIIIKA
Можно еще так:
for i:=1 to 15 do
begin
.....
.....
if i=5 then
begin
.....
....
end ; //if i=5
end; //for i:=1 to 15 <b/>
афвуд (2004-07-05 21:23:00) [8]Ага. и ещё Можно ставить end сразу после того как написа begin. По крайней мере я себе это усвоил - помогает Ни разу с тех пор end'ов не терял.
ламер (2004-07-05 19:01:00) [9]> ALEIIIKA (05.07.04 12:51) [13]
> Все нашел, оказывается в конце одной длинной строки потерялся end
> теперь все работает.
> Всем спасибо
вот именно поэтому каждый begin и end должен стоять на отдельной строке. строго друг под другом.
Mim1 (2004-07-05 17:27:00) [10]Тоже из раздела не верь глазам своим.
[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> Ошибок синтаксиса нет
Отсюда вывод. Если ктото говорит то чего быть не может не верь - он врет
ALEIIIKA (2004-07-05 12:51:00) [11]Все нашел, оказывается в конце одной длинной строки потерялся
end
теперь все работает.
Всем спасибо
ZZZubec (2004-07-05 11:54:00) [12]Насколько вижу я из твоего примера:
>Если убираешь строку проверки условия, то ругается на то, что >не знает что такое Канвас, помогите в чем причина.
Очевидно у компонента TComboBox есть класс TCanvas, поэтому, когда ты убираешь условие, он не может понять чей Canvas, для правильной транскрипции попоробуй написать:
ComboBox1.Canvas.Font.Color:=clRed;
ComboBox1.Canvas.Font.Size:=18;
Всех реград! 8)
Anatoly Podgoretsky (2004-07-05 10:53:00) [13]И другой не компилирует, вот запускается другой это точно.
Andr (2004-07-05 10:41:00) [14]Или хотя бы предыдущую строчку :)
Ega23 (2004-07-05 09:37:00) [15]Однако, файл компилируется в командной строке без ошибок, и нормально работает
Это ещё ничего не значит. Давай код ВСЕЙ процедуры.
Reindeer Moss Eater (2004-07-05 09:36:00) [16]Однако, файл компилируется в командной строке без ошибок, и нормально работает
Другой файл компилируется, а не этот
KADAN (2004-07-05 09:33:00) [17]
> Digitman © (05.07.04 09:30) [6]
Однако, файл компилируется в командной строке без ошибок, и нормально работает
Digitman (2004-07-05 09:30:00) [18]
> Declaration expected but 'IF' found
> в строке
>
> if ComboBox1.Text<>'' then
ошибка где-то выше по тексту, а не в этой строке
Declaration expected but 'IF' found означает, что при синтакс.разборе предыдущего оператора компилятор ожидал некий токен, подразумевающий некую обязательную декларацию (например, некоего идентификатора), а вместо этого обнаружил оператор IF, что недопустимо в тек.контексте
Ega23 (2004-07-05 09:26:00) [19]Код всей процедуры давай.
KADAN (2004-07-05 09:25:00) [20]то есть аналогичную? опять говорит что if не нужен? или Canvas не объявлена?