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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2013, 20:37   #1
WIDGET1
Пользователь
 
Регистрация: 06.12.2011
Сообщений: 22
По умолчанию Ошибка

Добрый вечер, и опять я.
Вот объявлена процедура:
Код:
procedure zapros_n(st: integer);
Вот ее работа:
Код:
procedure zapros_n(st:integer);
var i,j,x:integer;
begin
x:=0;
for j := 1 to glavn.stringgrid1.rowcount - 1 do
if glavn.stringgrid1.cells[st,j]='1' then
begin
zapros.StringGrid1.Cells[0,0]:='№ зачетки';
zapros.StringGrid1.Cells[1,0]:='Фамилия';
zapros. StringGrid1.Cells[2,0]:='Имя';
zapros. StringGrid1.Cells[3,0]:='Отчество';
zapros. StringGrid1.Cells[4,0]:='Вариант';
x:=x+1;
 for i := 0 to glavn.stringgrid1.colcount - 1 do
begin
zapros.StringGrid1.Cells[i,x]:=glavn.StringGrid1.Cells[i,j];
end;
zapros.Show; //форма для вывода результата
end;
end;
Вот процедура ее вызывающая:
Код:
procedure TGlavn.N8Click(Sender: TObject);
var stolb,k:integer;
n_zad:string;
begin
k:=0;
if inputQuery('Выполненное задание','Введите номер задания',n_zad) then
case strtoint(n_zad)of
1: begin stolb:=5;zapros_n (stolb);end;
2:begin stolb:=7;zapros_n (stolb);end;
3:begin stolb:=9;zapros_n (stolb);end;
end;
end;
На мой тупой взгляд- все ок. Но компилятор говорит: Unsatisfied forward or external declaration <Имя>. Отсутствует описание блока, объявление которого было дано (заголовок в интерфейсе или в описании объектного типа, либо упреждающее описание).


что это?...
WIDGET1 вне форума Ответить с цитированием
Старый 01.04.2013, 20:40   #2
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Что за zapros? На какую строку ругается компилятор? Что за <Имя>?
Kix.IV вне форума Ответить с цитированием
Старый 01.04.2013, 20:46   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Код:
procedure <Tимя_формы>.zapros_n(st:integer);
var i,j,x:integer;
begin
x:=0;
for j := 1 to glavn.stringgrid1.rowcount - 1 do
if glavn.stringgrid1.cells[st,j]='1' then
begin
zapros.StringGrid1.Cells[0,0]:='№ зачетки';
zapros.StringGrid1.Cells[1,0]:='Фамилия';
zapros. StringGrid1.Cells[2,0]:='Имя';
zapros. StringGrid1.Cells[3,0]:='Отчество';
zapros. StringGrid1.Cells[4,0]:='Вариант';
x:=x+1;
 for i := 0 to glavn.stringgrid1.colcount - 1 do
begin
zapros.StringGrid1.Cells[i,x]:=glavn.StringGrid1.Cells[i,j];
end;
zapros.Show; //форма для вывода результата
end;
end;
Попробуйте так
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 01.04.2013, 20:46   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Похоже имя zapros не известно процедуре zapros_n
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.04.2013, 20:48   #5
WIDGET1
Пользователь
 
Регистрация: 06.12.2011
Сообщений: 22
По умолчанию

Kix.IV, zapros-это форма, с этим все гут. Ругается на строку объявления процедуру и пишет эту ошибку.

Цитата:
Unsatisfied forward or external declaration <Имя>.
Это из перечня ошибок компилятора. Имя- это на что ругается, в данном случае имя zapros_n, а далее я написала как поясняется эта ошибка..но мне хоть по лбу, я не понимаю объяснения.

Алексей_2012 был прав, для описания процедуры нужно было написать T<имяформы>.zapros_n а дальше описание.

Последний раз редактировалось Stilet; 01.04.2013 в 22:12.
WIDGET1 вне форума Ответить с цитированием
Старый 01.04.2013, 20:54   #6
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

В коде вашей собственной процедуры нужно указывать форму, к которой эта процедура относится, это не паскаль...
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 01.04.2013, 21:03   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если процедура не метод формы и нет её декларации в секции interface, то она должна быть в секции implementation до всех процедур, обращающихся к ней
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Nero - ошибка драйвера DMA. ошибка CRC NecRoMat Софт 5 09.05.2012 01:29
Где ошибка в этом исходном коде на языке Си? Или ошибка в Excel? ArchiCurtis Помощь студентам 2 07.04.2012 14:16
Ошибка run-time Error 1004 общая ошибка ODBC kaval88 Microsoft Office Excel 0 27.02.2011 20:20
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
...Ошибка 101 (net::ERR_CONNECTION_RESET): Неизвестная ошибка... infrared Помощь студентам 0 16.04.2009 17:44