Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

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

 
-=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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.029 c
1-1119839772
grant
2005-06-27 06:36
2005.07.18
Подскажите, если кто знает. Как писать на Delphi по КПК например


4-1116776874
psa247
2005-05-22 19:47
2005.07.18
EnumObjects


1-1119990182
Monk
2005-06-29 00:23
2005.07.18
RichEdit отображает не всё


4-1116572710
ANB
2005-05-20 11:05
2005.07.18
Как запустить bat файл


6-1113203547
mc_s
2005-04-11 11:12
2005.07.18
нежно узнать IP Адрес.