Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка про компиляции 
:(
    Опции темы
Yantarik
Дата 28.8.2007, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 8.8.2007
Где: г.Москва

Репутация: 1
Всего: 1



Прикомпиляции выдает ошибку:
[Error] SverkaUnit.pas(18): Unsatisfied forward or external declaration: 'TForm1.BADOClick'

Перевела как: некорректна задана(прописана) процедура.
Хотя процедура объявлена в type (там и ругается).
Что надо еще?

Ой! А перенесите в раздел "для новичков". 
Я тут ее нечаянно создала(просматиравала похожие темы..

Это сообщение отредактировал(а) Yantarik - 28.8.2007, 15:28
PM MAIL   Вверх
Rodman
Дата 28.8.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



покажи код!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Yantarik
Дата 28.8.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 8.8.2007
Где: г.Москва

Репутация: 1
Всего: 1



Код

unit SverkaUnit;

interface

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

type
  TForm1 = class(TForm)
     ADOConnection1: TADOConnection;
       Button2: TButton;
//    ADOQuery1: TADOQuery;
       procedure BADOClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
 uses ComObj;
{$R *.DFM}



procedure BADOClick(Sender: TObject);
var
ADOQuery1: TADOQuery;

begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
//ADOQuery1.SQL.Add('SELECT * INTO #table FROM table_osn');//èëè
ADOQuery1.SQL.Text:='SELECT * INTO #table FROM table_osn';
ADOQuery1.Open;//èëè ExecSQL;

{ADOQuery1.Active := False;
ADOQuery1.SQL.Text := 'SELECT * INTO #REESTR_OSN FROM LIC_REESTR';
ADOQuery1.Active := True;}


showmessage('Ýêñïîðò çàâåðøåí');
end;
end.

Вот как-то так... 
PM MAIL   Вверх
Rodman
Дата 28.8.2007, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



хех
Код

unit SverkaUnit;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, Grids, ADODB, DBGrids, ComCtrls;
type
  TForm1 = class(TForm)
     ADOConnection1: TADOConnection;
       Button2: TButton;
//    ADOQuery1: TADOQuery;
       procedure BADOClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
 uses ComObj;
{$R *.DFM}
procedure  TForm1.BADOClick(Sender: TObject);
var
ADOQuery1: TADOQuery;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
//ADOQuery1.SQL.Add('SELECT * INTO #table FROM table_osn');//èëè
ADOQuery1.SQL.Text:='SELECT * INTO #table FROM table_osn';
ADOQuery1.Open;//èëè ExecSQL;
{ADOQuery1.Active := False;
ADOQuery1.SQL.Text := 'SELECT * INTO #REESTR_OSN FROM LIC_REESTR';
ADOQuery1.Active := True;}
showmessage('Ýêñïîðò çàâåðøåí');
end;
end.

  а так?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Yantarik
Дата 28.8.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 8.8.2007
Где: г.Москва

Репутация: 1
Всего: 1



Цитата(Rodman @  28.8.2007,  15:39 Найти цитируемый пост)
а так?

А я не увидела разницы.... :(
PM MAIL   Вверх
Rodman
Дата 28.8.2007, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Цитата(Yantarik @  28.8.2007,  15:52 Найти цитируемый пост)
А я не увидела разницы.... :( 

 smile 
Код

unit SverkaUnit;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, Grids, ADODB, DBGrids, ComCtrls;
type
  TForm1 = class(TForm)
     ADOConnection1: TADOConnection;
       Button2: TButton;
//    ADOQuery1: TADOQuery;
       procedure BADOClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
 uses ComObj;
{$R *.DFM}
procedure  TForm1.BADOClick(Sender: TObject); //<- а как тебе эта строка???
var
ADOQuery1: TADOQuery;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
//ADOQuery1.SQL.Add('SELECT * INTO #table FROM table_osn');//èëè
ADOQuery1.SQL.Text:='SELECT * INTO #table FROM table_osn';
ADOQuery1.Open;//èëè ExecSQL;
{ADOQuery1.Active := False;
ADOQuery1.SQL.Text := 'SELECT * INTO #REESTR_OSN FROM LIC_REESTR';
ADOQuery1.Active := True;}
showmessage('Ýêñïîðò çàâåðøåí');
end;
end.

строка 22...

ты объявила процедуру как метод класса, а тело функции не описала что оно классу принадлежит!!!

уловила?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
SergeBS
Дата 29.8.2007, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



А вам не кажется, что на самом деле место процедуры-таки в секции private или public? Поскольку тогда не нужно объявлять СВОЙ класс - не экземпляр, а наследник от TForm, а? И (Sender: TObject) тогда исчезнет, т.е. процедура будет доступна везде где хочешь.
PM MAIL   Вверх
Yantarik
Дата 30.8.2007, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 8.8.2007
Где: г.Москва

Репутация: 1
Всего: 1



Rodman, да, поняла.

SergeBS,  А чем отличается private от public?

В моем случае: процедура BADOClick относится к кнопке, которая на форме. Она же не может быть сама по себе. Или я опять что-то путаю?


PM MAIL   Вверх
SergeBS
Дата 31.8.2007, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Yantarik
Цитата
SergeBS,  А чем отличается private от public?
А самой в доке почитать? Областью видимости.

Цитата
В моем случае: процедура BADOClick относится к кнопке, которая на форме. Она же не может быть сама по себе. Или я опять что-то путаю?

Значит ручками в коде либо название кнопки, либо название процедуры правила. А этого делать нельзя.
Показываю:
Код

type
  TfOutput = class(TForm)
    pbPos: TProgressBar;
    bbStop: TBitBtn;
    lbl1: TLabel;
    bbStart: TBitBtn;
    btnTest: TButton;
    sbDebug: TStatusBar;
    cbLgota: TComboBox;
    lbl2: TLabel;
    procedure bbStartClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure bbStopClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btnTestClick(Sender: TObject);
  private
    { Private declarations }
    function WordStart : boolean;
    function WordFinish: Boolean;
    function FillTable(k : Integer = 1): Integer;
    procedure WordDeleteBookmark(rBookMark: string);
    procedure WordManyTables;
    procedure WordOneNum;   //вывод 1 категории
    procedure WordOneTable;
  public
    { Public declarations }
  end;

procedure bbStartClick(Sender: TObject); - соответствует клику на bbStart: TBitBtn;. Если исправить в коде, а не в Object Inspector - будет плохо. Лечим так: в {} всю процедуру, в type строчку объявления - тоже.
Кликаем 2 раза в реракторе формы по кнопке - получаем заготовку-пустышку и правильное объявление.
В пустышку - переносим заремленный код обработки. Убеждаемся что все работает и убираем (удаляем)заремленное совсем.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1689 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.