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

Вниз

ошибка связанная с добавлением процедуры   Найти похожие ветки 

 
-=snoop=- ©   (2005-06-29 10:13) [0]

привет всем, странная ошибка
добавляю процедуру procedure MYPrp;
[code]
type
 TForm2 = class(TForm)
   procedure FormActivate(Sender: TObject);
   procedure MYPrp;
[/code]
при компиляции валится в ошибку

[Error] workWithGrupp.pas(12): Unsatisfied forward or external declaration: "TForm2.DBGridDrawColumnCell"
форму пересоздавал - не помогает
что за хрень! не понимаю, до этого сколько раз делал и все нормал!
я до этого ставил ExpressQuantumGrid компонент, потом его бахнул и пошли глюки.


 
ЮЮ ©   (2005-06-29 10:17) [1]

Это не процедура, а метод класса TForm2 .
Будучи объявленным в описании класса, должен быть ещё и код в imlementation

procedure TForm2.MYPrp;
begin

end;


 
ЮЮ ©   (2005-06-29 10:24) [2]

Unsatisfied forward or external declaration: "TForm2.DBGridDrawColumnCell"

Не обратил внимание на выделенное.
в TForm2.DBGridDrawColumnCell название параметров не менял? Если менял, то надо и в обоих местах изменять


 
Digitman ©   (2005-06-29 10:26) [3]


> -=snoop=- ©   (29.06.05 10:13)  


см. [1]

кр. того заимей себе привычку объявлять собственные методы (не имеющие прямого отношения к обработке событий) в секциях private или protected или public


 
Anatoly Podgoretsky ©   (2005-06-29 10:27) [4]

ЮЮ ©   (29.06.05 10:24) [2]
Тут хуже, она не вообще не объявлена.


 
-=XP=- ©   (2005-06-29 10:43) [5]

Скорее всего, удалил "руками" метод, сгенерированный Delphi.
Да криво удалил. Вот Delphi его и ищет.
Решения, как всегда, два:
- найти, где он прописан еще, и удалить там;
- воссоздать его (метод) обратно (в пустом виде) и дать Delphi удалить метод автоматически.


 
Anatoly Podgoretsky ©   (2005-06-29 10:48) [6]

-=XP=- ©   (29.06.05 10:43) [5]
Второй путь не поможет, будет еще одна ошибка.


 
-=snoop=- ©   (2005-06-29 11:16) [7]

ругается так на любую процедуру, не зависимо от названия, допустим, делаю процедуру выхода из формы с названием
procedure lpQuit
все одно орет


 
kot andrei ©   (2005-06-29 11:22) [8]

да ну посмотришь ты сюда
>>ЮЮ ©   (29.06.05 10:17) [1]


 
-=XP=- ©   (2005-06-29 11:23) [9]

ругается так на любую процедуру

Даже в новом проекте?
Давайте-ка сюда полный текст Вашего горе-модуля. Без правок.


 
-=snoop=- ©   (2005-06-29 11:31) [10]


unit workWithGrupp;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ADODB, DBGrids, Grids, DB, StdCtrls;

type
 TForm2 = class(TForm)
   procedure FormActivate(Sender: TObject);
   procedure zzz;

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form2: TForm2;

implementation

uses main;
{$R *.dfm}

procedure TForm2.FormActivate(Sender: TObject);
 var
   gADOq : TADOQuery ;
   lBaseGRD : TDBGrid ;
   lPerdepr : TDatasource ;
   lpredprEnabl : TCheckBox ;
begin
 form2.Caption := "Ïðîñìîòð è ðåäàêòèðîâàíèå ãðóïïû  "+gGruppName ;
// ïîäêëþ÷åíèå ê áàçå label.pro
     gADOq := TADOQuery.Create(form2) ;
     gADOq.Name := "gADO" ;
     gADOq.CursorLocation := clUseClient ;
     gADOq.CursorType := ctStatic ;
     gADOq.ConnectionString :=
       "Provider= VFPOLEDB.1;"+
       "Data Source="+gPthVl+"\pro\label.pro;"+
       "Password="";Collating Sequence=MACHINE" ;
     gADOq.SQL.Clear ;
     gADOq.SQL.Add("select lbl_name ,lbl_path from label.pro ") ;
     gADOq.Active := true ;
//Äàòà ñîóðñ äëÿ ïðåäïðèÿòèé
 lPerdepr := TDatasource.Create(form2) ;
 lPerdepr.Name := "lPerdepr" ;
 lPerdepr.DataSet := gADOq ;
 lPerdepr.Enabled := true ;
// çàãðóçêà ãðèäà
{ñïèñîê ïðåäïðèÿòèé-------------------}
 lBaseGRD := TDBGrid.Create(Form2) ;
 lBaseGRD.Parent := Form2 ;
 lBaseGRD.Left := 5   ;
 lBaseGRD.Top := 10    ;
 lBaseGRD.Width := 350  ;
 lBaseGRD.Height := 100  ;
 lBaseGRD.Name := "lBaseGRD" ;
// ñîáûòèÿ
     lBaseGRD.OnDrawColumnCell := DBGridDrawColumnCell ;
 lBaseGRD.DataSource := lPerdepr;
 lBaseGRD.ReadOnly := true ;
 lBaseGRD.Options := [dgTitles, dgIndicator, dgColumnResize,
          dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete,
          dgCancelOnExit];
 lBaseGRD.Columns.Clear() ;
// íóëåâîå ïîëå
   lBaseGRD.Columns.Add() ;
   lBaseGRD.Columns[0].Title.caption := "Äîñòóï" ;
   lBaseGRD.Columns[0].Expanded := true ;
// ïåðâîå ïîëå
   lBaseGRD.Columns.Add() ;
   lBaseGRD.Columns[1].FieldName := "lbl_name" ;
   lBaseGRD.Columns[1].Title.caption := "Íàçâ.ïðåäïð." ;
   lBaseGRD.Columns[1].Expanded := true ;
// âòîðîå ïîëå
   lBaseGRD.Columns.Add() ;
   lBaseGRD.Columns[2].FieldName := "lbl_path" ;
   lBaseGRD.Columns[2].Title.caption := "Ïóòü äî áàç" ;
   lBaseGRD.Columns[2].Expanded := true ;
end;

//---------------------------------------------------------
//              ìîè ïðîöåäóðû
//---------------------------------------------------------
end.


 
Alexander Panov ©   (2005-06-29 11:45) [11]

lBaseGRD.OnDrawColumnCell := DBGridDrawColumnCell ;

Это что такое?


 
-=snoop=- ©   (2005-06-29 12:00) [12]

lBaseGRD = TDBGrid объект
OnDrawColumnCell := DBGridDrawColumnCell перегружаю процедуру отрисовки на свою DBGridDrawColumnCell, она у меня будет дальше описана.
Но дело-то в том , что если ее закоментировать ругаться будет на строку

procedure zzz


 
Alexander Panov ©   (2005-06-29 12:01) [13]

-=snoop=- ©   (29.06.05 12:00) [12]
что если ее закоментировать ругаться будет на строку

procedure zzz


А по коду не видно, что zzz где-то реализована.


 
Плохиш ©   (2005-06-29 12:02) [14]


> -=snoop=- ©   (29.06.05 11:31) [10]

Чукча - не читатель, чукча - писатель.
Читай ответы начиная с [1] до полного прояснения, а ещё не мешало бы до практического программирования почитать какую-нибуть книжку.


 
kot andrei ©   (2005-06-29 12:13) [15]

Это просто жопа :
еще раз говорю почитай это:
ЮЮ ©   (29.06.05 10:17) [1]



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

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

Наверх




Память: 0.49 MB
Время: 0.04 c
1-1119974831
capkoh
2005-06-28 20:07
2005.07.18
Отдельные формы сверху


3-1118228870
paule
2005-06-08 15:07
2005.07.18
Не выполняется запрос!


5-1090308239
Death_R
2004-07-20 11:23
2005.07.18
Создание компонента при изменении свойств другого компонента


1-1120059052
Radgar
2005-06-29 19:30
2005.07.18
OnMouseDown в Timage


4-1116610718
seregka
2005-05-20 21:38
2005.07.18
Динамическое копирование информации в Richedit





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