Форум: "Основная";
Текущий архив: 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