Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.10.2010, 04:32
Rem1x Rem1x вне форума
Прохожий
 
Регистрация: 20.10.2010
Сообщения: 4
Репутация: 10
По умолчанию переключении между формами

Вообщем при переключении между формами возникает ошибка!

Вот синтаксис!
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtDlgs, ExtCtrls, Jpeg;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    OpenPictureDialog1: TOpenPictureDialog;
    SavePictureDialog1: TSavePictureDialog;
    Edit1: TEdit;
    OpenDialog1: TOpenDialog;
    Edit2: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1,Form2: TForm1;
   size: integer;
   bytesize:double;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if Opendialog1.Execute then begin
Image1.Picture.LoadFromFile(Opendialog1.FileName);
Edit1.Text:=ExtractFileDir(OpenDialog1.FileName);
//ByteSize:=strtoint(Filesize(Opendialog1.Filename));
//size:=bytesize*8;
Edit2.Text:=inttostr(size);


end;
    end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//form1.Hide;                                // ОШИБКА ТУТ!
Form2.Show;
//Form2.Visible:=true;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Jpeg;

type
  TForm2 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var

  Form1,Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
//Form2.Hide;
end;

end.
Кажестя что формы не видят друг друга! Например у меня есть на 1 форме edit1 но при создании edit на 2 форме он также называеться edit1
вопрос: как их заставить видеть друг-друга???
Изображения
Тип файла: jpg ERROR.jpg (59.4 Кбайт, 6 просмотров)

Последний раз редактировалось Admin, 20.10.2010 в 09:51.
Ответить с цитированием
  #2  
Старый 20.10.2010, 07:10
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

В uses добавлять надо unit1 unit2 ну или как они так у тебя названы.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 20.10.2010, 19:19
Аватар для NekitoSSSS
NekitoSSSS NekitoSSSS вне форума
Начинающий
 
Регистрация: 02.05.2009
Адрес: Башкортостан, г.Благовещенск
Сообщения: 142
Версия Delphi: XE
Репутация: 13
По умолчанию

судя по скрину у тебя EAccessViolation так?! мб ты просто не создал ту форму, над которой производишь операции?
Ответить с цитированием
  #4  
Старый 20.10.2010, 20:20
Rem1x Rem1x вне форума
Прохожий
 
Регистрация: 20.10.2010
Сообщения: 4
Репутация: 10
По умолчанию

2 форма создана но при открытии проэкта он загружает только unit1 а unit2 надо открывать самому!

Добавление в uses не помогло!
Ответить с цитированием
  #5  
Старый 20.10.2010, 21:24
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Весь код в студию, в смысле все файлы, архивчеком
Ответить с цитированием
  #6  
Старый 20.10.2010, 22:51
Rem1x Rem1x вне форума
Прохожий
 
Регистрация: 20.10.2010
Сообщения: 4
Репутация: 10
По умолчанию

вот
http://crual.3dn.ru/1111/1.7z
http://crual.3dn.ru/1111/1.7z

http://crual.3dn.ru/1111/1.7z
Ответить с цитированием
  #7  
Старый 20.10.2010, 23:08
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

где юнит3?

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

Последний раз редактировалось ChinYan, 20.10.2010 в 23:11.
Ответить с цитированием
  #8  
Старый 21.10.2010, 00:39
Rem1x Rem1x вне форума
Прохожий
 
Регистрация: 20.10.2010
Сообщения: 4
Репутация: 10
По умолчанию

как если мне на них обьекты расположить надо!
Ответить с цитированием
  #9  
Старый 21.10.2010, 08:20
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

И не будет работать.
1. Для обращения к форме находяшейся в другом модуле, модуль надо упоминуть в секции Uses.
2. Прежде чем обращаться к экземпляру формы, этот экземпляр надо создать. Все созданные автоматом экземпляры форм описаны в проекте. Откройте и посмотрите.
3. В каждом из ваших модулей вы описываете одинаковые переменные:
Код:
var

  Form1,Form2: TForm2;
Это не будет правильно работать т.к. смотрите п.2
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #10  
Старый 21.10.2010, 09:04
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Что делать:
1)Создайте новый проект (VCL forms application)
2)Создайте вторую форму (File->New->Form)
3)Выбрать первую форму, разместить на ней визуальные компоненты
4)Выбрать вторую, разместить на ней визуальный компоненты
5)Запустить приложение, на предложение сохранить - согласится. Если при запуске предложения сохранить не было, то Tools->Options->Environment options, поставить галочки на Editor options и Project desktop

6)Повторить п. 5

7) Выбрать первую форму. Дважды щелкнуть по какой-либо кнопке на форме. Среда создаст процедуру, в ней указать:
Код:
Form2.Show;
Form1.Hide;

Где Form1, Form2 - названия форм первой и второй соответственно (свойство name у формы)


8)Запустить приложение. Появится сообщение о том, что форма1 использует форму2, но форма2 не подключена к форме1. Нажать ОК

9) Запустить приложение
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:06.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter