Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > проперти закрытия окна


Автор: kosta 10.5.2005, 01:02
не подскажите в чем может быть дело?
создаю просто событие формы онклоуз а он мне выдает ошибку, мол не совпадает с предыдущим описание, причем описание абсолютно идентичное. Причем так не везде, а только на некоторых формах, но логику понять не могу=((

Автор: Alex103 10.5.2005, 01:28
Цитата(kosta @ 10.5.2005, 01:02)
не подскажите в чем может быть дело?
создаю просто событие формы онклоуз а он мне выдает ошибку, мол не совпадает с предыдущим описание, причем описание абсолютно идентичное. Причем так не везде, а только на некоторых формах, но логику понять не могу=((

Ты случайно не КОL форму создаешь!

Автор: kosta 10.5.2005, 01:41
нет, самая обычная форма

Автор: Yanis 10.5.2005, 01:45
Ошибка в 17й строке.

Автор: kosta 10.5.2005, 01:52
Yanis не понял ... smile

Автор: Yanis 10.5.2005, 02:01
Цитата(kosta @ 10.5.2005, 01:52)
Yanis не понял ...

http://forum.vingrad.ru/index.php?showtopic=15895

Автор: kosta 10.5.2005, 02:07
пожалуйста, вот пример исходника(все левые процедуры шоб не загромождать исходник изъял, главное ето формклоуз):

Код


unit Bilet;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, StdCtrls, Mask, DBCtrls, ComCtrls, Menus;

type
  TfrmBilet = class(TForm)
    Label2: TLabel;
    Label3: TLabel;
    btnAdd: TButton;
    qrTasks: TQuery;
    dsDR3: TDataSource;
    edtKolvoVoprosov: TEdit;
    btnExit: TButton;
    cbTheme: TComboBox;
    udKolvoVoprosov: TUpDown;
    MainMenu1: TMainMenu;
    mmSerie: TMenuItem;
    mmBilet: TMenuItem;
    mmBiletNew: TMenuItem;
    mmSerieNew: TMenuItem;
    mmSeriePrint: TMenuItem;
    mmBiletPrint: TMenuItem;
    memoTask: TMemo;
    mmSerieStatistic: TMenuItem;
    mmBiletSave: TMenuItem;
    dsDR4: TDataSource;
    qrAnswer: TQuery;
    procedure FormCreate(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure btnExitClick(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure mmBiletNewClick(Sender: TObject);
    procedure mmBiletPrintClick(Sender: TObject);
    procedure mmBiletSaveClick(Sender: TObject);
    procedure mmSerieNewClick(Sender: TObject);
    procedure mmSeriePrintClick(Sender: TObject);
    procedure mmSerieStatisticClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

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

var
  frmBilet: TfrmBilet;

implementation
Uses QForms,ComObj,Start,BiletDiscipline, Statistic;

...


procedure TfrmBilet.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if qrTasks.active then qrTasks.close;
memoTask.Clear;
edtKolvoVoprosov.Text:='';
cbTheme.clear;

biletCount:=0;
SetLength(BiletSerie,BiletCount);
SetLength(currentBilet,0);

SerieStat.BiletNumber:=0;
setlength(SerieStat.Disciplines[0].Themes,0);
setlength(SerieStat.Disciplines,0);

frmBiletDiscipline.Enabled:=true;
end;

end.


Автор: Yanis 10.5.2005, 02:12
Цитата(kosta @ 10.5.2005, 01:02)
а он мне выдает ошибку, мол не совпадает с предыдущим описание

Ошибка времени компиляции или выполнения?

Автор: kosta 10.5.2005, 02:13
компиляции

Автор: Alex 10.5.2005, 02:20
kosta, может ты, наконец, приведешь текст ошибки, которую тебе выдают и в какой строке она возникает?

Автор: kosta 10.5.2005, 02:25
строка :
Добавлено @ 02:26
[censored 2] ))))

строка:
procedure TfrmBilet.FormClose(Sender: TObject; var Action: TCloseAction);

ошибка: declaration of "FormClose" differs from previos declaration

Автор: Alex 10.5.2005, 02:49
Вырежи текст в буффер обмена:
Код

if qrTasks.active then qrTasks.close;
memoTask.Clear;
edtKolvoVoprosov.Text:='';
cbTheme.clear;

biletCount:=0;
SetLength(BiletSerie,BiletCount);
SetLength(currentBilet,0);

SerieStat.BiletNumber:=0;
setlength(SerieStat.Disciplines[0].Themes,0);
setlength(SerieStat.Disciplines,0);

frmBiletDiscipline.Enabled:=true;


Удали строку:
procedure FormClose(Sender: TObject; var Action: TCloseAction);
и

procedure TfrmBilet.FormClose(Sender: TObject; var Action: TCloseAction);
begin

end;

После чего попытайся откомпилировать проект, если все хорошо, то создай обработчик заново

Автор: kosta 10.5.2005, 02:54
оно то хорошо, причем в любом случае но без формклоуз, а када создаешь обработчик, причем не важно как или двойным нажатием или вручную, он начинает фокусы выкидывать


я вот ешо подумал, у мя там запросы накиданы, они никак не могут повлиять, бо только на формах с запросами глючит, но опять же не на всех

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)