forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Вылет среды (http://forum.boolean.name/showthread.php?t=16917)

Rock2roll 28.06.2012 09:50

Ответ: Вылет среды
 
Решил новую тему не создавать.
Вот в чем проблема сейчас: объявил переменные вначале программы, это 5 картинок, тип имейдж. Загрузил в процедуре переменные картинками. В следующей процедуре дравИмейдж эти картинки.
Но компилятор ругается на то что эти имена переменных не объявлены или не являются функциями. Пишет еще мол неправильное выражение- название переменной. Хотя переменные set,mini,panel и тому подобное, не думаю что это причина. И еще пишет что ожидалась точка, но найден бегин. На том месте точно все в порядке.
Подскажите пожалуйста.

AntiRock 28.06.2012 10:04

Ответ: Вылет среды
 
Телепатирую...Код в студию, подскажем.

Rock2roll 28.06.2012 10:50

Ответ: Вылет среды
 
большой код.
___
просто назовите возможные причины. Может кто знает.

AntiRock 28.06.2012 12:33

Ответ: Вылет среды
 
Ну вот назову причины которые пришли в голову: где то забыл поставить ";", не загрузил рисунки в ресурсы, при указании рисунка забыл обособить 'этим' или не указал расширение, ты указал тип контейнеров для картинок в процедуре(поэтому они доступны только ей, а в другой процедуре или главном потоке выдают ошибку). Кинь сюда кусок кода где ты объявлял переменные и где их используешь.

Rock2roll 28.06.2012 14:14

Ответ: Вылет среды
 
PHP код:

program Core3;
uses canvas,sensor;
var 
m1w,m1h,m2w,m2h:integer;
metod1,metod2,logostr:string;
open,mini,panel:image;

Procedure debug_spaceforward;

Procedure sample//приложение-пример для отладки
begin <<тут говорит что не знает таких переменных
drawimage
(win,getwidth/2-120,getheight/2-130); drawtext('Окно программы',getwidth/2-90,getheight/2-120);
drawimage(mini,40,getheight-35);
repaint;
repeat
if (pointer_state<>0) and (pointer_pressed_x>70) and (pointer_pressed_x<110) and (pointer_pressed_y>getheight-35) and (pointer_pressed_y<getheightthen begin while pointer_state=do delay(1); debug_spaceend;
until false;
end;

Procedure debug_loader//загрузка режима отладки
begin
setcolor
(255,255,255); fillrect(0,0,getwidth,getheight); repaint;
setFont(font_face_system,font_style_plain,font_size_small);
mini:=loadimage('/mini.png'); panel:=loadimage('/panel.png'); open:=loadimage('/open.png');
set:=loadimage('/set.png'); win:=loadimage('/window.png');
debug_space;
end


AntiRock 28.06.2012 14:20

Ответ: Вылет среды
 
Ты указал программе, что процедура "debug_space" будет описана дальше, но описания этой процедуры я не увидел, может поэтому ругается?

Rock2roll 28.06.2012 14:59

Ответ: Вылет среды
 
нет, эта процедура ниже. я ее в примере не объявлял. Это означает (форвард) что к процедуре можно обращаться с любого места кода

Rock2roll 28.06.2012 16:23

Ответ: Вылет среды
 
PHP код:

var m1w,m1h,m2w,m2h:integer
metod1,metod2,logostr:string
open,mini,panel:image

В строке с типом имейдж пишет что ожидался оператор [имя] переменной

Rock2roll 28.06.2012 16:26

Ответ: Вылет среды
 
Решено! Причина: нельзя использовать название переменной 'set'. Исправил на 'seti' и все заработало. Спасибо AntiRock за подсказки.


Часовой пояс GMT +4, время: 19:14.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot