Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2010, 01:29   #1
VITEBchANIN
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 16
Печаль Ошибка : форма использует сама себя

Помогите пожалуйста, завтра курсовой защищать - а у меня вот:
Нажимаю run, а мне "form 'form2' references 'form2' declared in 'unit2' which is not in your USES list/ Do you wish to add it? ". Нажимаем "нет" - не компилит, а нажимаем "yes" - ошибка при компиляции "[Fatal Error] Unit2.pas(38): Program or unit 'Unit2' recursively uses itself"
...не понимаю логики
Вот код:
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActnMan, ActnColorMaps, StdCtrls, Buttons, Grids, DBGrids, DB,
  DBTables, XPMan, ExtCtrls, DBCtrls;

type
  TForm2 = class(TForm)
    Label1: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Memo1: TMemo;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Table1: TTable;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

uses Unit1, Unit6, Unit2;

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject);
begin
form1.show;
form2.Close;
end;

procedure TForm2.BitBtn2Click(Sender: TObject);
begin
Form2.DBGrid1.DataSource.DataSet.string;
Form2.DBGrid1.SelectedField.AsString := memo1.Text;
Form2.DBGrid1.DataSource.DataSet.Post;
bitbtn3.visible:=true
end;

procedure TForm2.BitBtn3Click(Sender: TObject);
begin
form6.show;
Close;
end;
end.

Последний раз редактировалось Stilet; 18.06.2010 в 09:46.
VITEBchANIN вне форума Ответить с цитированием
Старый 18.06.2010, 01:34   #2
RAZOR3
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 38
По умолчанию

попробуй так:
замени
Код:
uses Unit1, Unit6, Unit2;
на
Код:
uses Unit1, Unit6;
RAZOR3 вне форума Ответить с цитированием
Старый 18.06.2010, 01:37   #3
VITEBchANIN
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 16
По умолчанию

Пробовал уже, не помогает, снова не компилит и просит добавить в юзес юнит2, т.е. себя же) Не понимаюю..
VITEBchANIN вне форума Ответить с цитированием
Старый 18.06.2010, 01:41   #4
RAZOR3
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 38
По умолчанию

А весь проект скинуть можешь?
RAZOR3 вне форума Ответить с цитированием
Старый 18.06.2010, 01:43   #5
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Прикрепи проект, если можешь. А то так не особо понятно...
EDIT:
RAZOR3 вы читаете мысли )))))
Цитата:
А как? Текст юнита?
Та нет. Архив с проектом прикрепите.
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 18.06.2010 в 01:45.
spamer вне форума Ответить с цитированием
Старый 18.06.2010, 01:44   #6
VITEBchANIN
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 16
По умолчанию

А как? Текст юнита?

unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnMan, ActnColorMaps, StdCtrls, Buttons, Grids, DBGrids, DB,
DBTables, XPMan, ExtCtrls, DBCtrls;

type
TForm2 = class(TForm)
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Memo1: TMemo;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1: TTable;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

uses Unit1, Unit6;

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject);
begin
form1.show;
Close;
end;

procedure TForm2.BitBtn2Click(Sender: TObject);
begin
Form2.DBGrid1.DataSource.DataSet.st ring;
Form2.DBGrid1.SelectedField.AsStrin g := memo1.Text;
Form2.DBGrid1.DataSource.DataSet.Po st;
bitbtn3.visible:=true
end;

procedure TForm2.BitBtn3Click(Sender: TObject);
begin
form6.show;
Close;
end;
end.
VITEBchANIN вне форума Ответить с цитированием
Старый 18.06.2010, 01:45   #7
VITEBchANIN
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 16
По умолчанию

А, сейчас, секудну..
VITEBchANIN вне форума Ответить с цитированием
Старый 18.06.2010, 01:46   #8
RAZOR3
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 38
По умолчанию

Заархивируй папку проекта потом добавь архив при написании сообщения на форум во вложения
RAZOR3 вне форума Ответить с цитированием
Старый 18.06.2010, 01:47   #9
VITEBchANIN
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 16
По умолчанию

http://megashare.by/download.php?id=9E730EFD Вот
VITEBchANIN вне форума Ответить с цитированием
Старый 18.06.2010, 01:48   #10
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

такое происходит, когда два модуля друг на друга ссылаются. компилятор на это ругается, мол зацикливание.

постарайтесь избежать циклических ссылок...
ЗЫ: вроде как есть разница в объявлениях раздела interface и implementation. если их скомбинировать то чёт может и получится
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отследить приложение которое использует тот или иной файл? pro100-delphi Общие вопросы Delphi 9 18.06.2010 01:19
Программа, выводящая сама себя Gorychev Общие вопросы Delphi 45 31.01.2010 02:45
Как сделать так что бы прога копировала сама себя? нью Помощь студентам 3 11.01.2010 11:26
Всем кто использует BASS (мультимедиа) MusicMan Помощь студентам 1 27.04.2008 10:56
Прога может удалить сама себя?? UnD)eaD)Snake Софт 5 18.08.2007 00:46