![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ошибка связанная с добавлением процедуры [D7]
-=snoop=- © (2005-06-29 10:13:00)привет всем, странная ошибка
добавляю процедуру 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 компонент, потом его бахнул и пошли глюки.
kot andrei (2005-06-29 12:13:00) [1]Это просто жопа :
еще раз говорю почитай это:
ЮЮ © (29.06.05 10:17) [1]
Плохиш (2005-06-29 12:02:00) [2]
> -=snoop=- © (29.06.05 11:31) [10]
Чукча - не читатель, чукча - писатель.
Читай ответы начиная с [1] до полного прояснения, а ещё не мешало бы до практического программирования почитать какую-нибуть книжку.
Alexander Panov (2005-06-29 12:01:00) [3]-=snoop=- © (29.06.05 12:00) [12]
что если ее закоментировать ругаться будет на строку
procedure zzz
А по коду не видно, что zzz где-то реализована.
-=snoop=- (2005-06-29 12:00:00) [4]lBaseGRD = TDBGrid объект
OnDrawColumnCell := DBGridDrawColumnCell перегружаю процедуру отрисовки на свою DBGridDrawColumnCell, она у меня будет дальше описана.
Но дело-то в том , что если ее закоментировать ругаться будет на строку
procedure zzz
Alexander Panov (2005-06-29 11:45:00) [5]lBaseGRD.OnDrawColumnCell := DBGridDrawColumnCell ;
Это что такое?
-=snoop=- (2005-06-29 11:31:00) [6]
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.
-=XP=- (2005-06-29 11:23:00) [7]ругается так на любую процедуру
Даже в новом проекте?
Давайте-ка сюда полныйтекст Вашего горе-модуля. Без правок.
kot andrei (2005-06-29 11:22:00) [8]да ну посмотришь ты сюда
>>ЮЮ © (29.06.05 10:17) [1]
-=snoop=- (2005-06-29 11:16:00) [9]ругается так на любую процедуру, не зависимо от названия, допустим, делаю процедуру выхода из формы с названием
procedure lpQuit
все одно орет
Anatoly Podgoretsky (2005-06-29 10:48:00) [10]-=XP=- © (29.06.05 10:43) [5]
Второй путь не поможет, будет еще одна ошибка.
-=XP=- (2005-06-29 10:43:00) [11]Скорее всего, удалил "руками" метод, сгенерированный Delphi.
Да криво удалил. Вот Delphi его и ищет.
Решения, как всегда, два:
- найти, где он прописан еще, и удалить там;
- воссоздать его (метод) обратно (в пустом виде) и дать Delphi удалить метод автоматически.
Anatoly Podgoretsky (2005-06-29 10:27:00) [12]ЮЮ © (29.06.05 10:24) [2]
Тут хуже, она не вообще не объявлена.
Digitman (2005-06-29 10:26:00) [13]
> -=snoop=- © (29.06.05 10:13)
см. [1]
кр. того заимей себе привычку объявлять собственные методы (не имеющие прямого отношения к обработке событий) в секциях private или protected или public
ЮЮ (2005-06-29 10:24:00) [14]Unsatisfied forward or external declaration: 'TForm2. DBGridDrawColumnCell'
Не обратил внимание на выделенное.
в TForm2.DBGridDrawColumnCell название параметров не менял? Если менял, то надо и в обоих местах изменять
ЮЮ (2005-06-29 10:17:00) [15]Это не процедура, а метод класса TForm2 .
Будучи объявленным в описании класса, должен быть ещё и код в imlementation
procedure TForm2.MYPrp;
begin
end;