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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 26.07.2008, 07:38
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Разные формы в проекте должны быть разных классов. Из кода не видно, что есть две разные формы (класс TCarnege1 имеет первая и вторая форма).
Если это два экземпляра одного и того же класса, то как можно заставить их выполнять разные логические действия?
Делайте еще один класс формы (можно же и наследника слепить от TCarnege1). Разные формы - разное поведение.
__________________
Не забывайте делать резервные копии
Ответить с цитированием
  #17  
Старый 26.07.2008, 16:21
Ivanius Ivanius вне форума
Прохожий
 
Регистрация: 21.07.2008
Сообщения: 19
Репутация: 10
Смущение

Цитата:
Сообщение от san-46
Разные формы в проекте должны быть разных классов. Из кода не видно, что есть две разные формы (класс TCarnege1 имеет первая и вторая форма).
Если это два экземпляра одного и того же класса, то как можно заставить их выполнять разные логические действия?
Делайте еще один класс формы (можно же и наследника слепить от TCarnege1). Разные формы - разное поведение.
мне и не нужны разные задачи мне наоборот нужно чтобы в 3 формах были 1 и те же переменный и они менялись во всех формаходновременно или по закрытии 1 из них.
Ответить с цитированием
  #18  
Старый 26.07.2008, 16:23
Ivanius Ivanius вне форума
Прохожий
 
Регистрация: 21.07.2008
Сообщения: 19
Репутация: 10
Смущение вы не поняли

Цитата:
Сообщение от san-46
Разные формы в проекте должны быть разных классов. Из кода не видно, что есть две разные формы (класс TCarnege1 имеет первая и вторая форма).
Если это два экземпляра одного и того же класса, то как можно заставить их выполнять разные логические действия?
Делайте еще один класс формы (можно же и наследника слепить от TCarnege1). Разные формы - разное поведение.
мне и не нужны разные задачи мне наоборот нужно чтобы в 3 формах были 1 и те же переменный и они менялись во всех формаходновременно или по закрытии 1 из них.
Ответить с цитированием
  #19  
Старый 26.07.2008, 17:26
YERokez YERokez вне форума
Прохожий
 
Регистрация: 27.10.2007
Сообщения: 22
Репутация: 10
По умолчанию

Все очень просто. Надо вместо стандартного метода Create для формы использовать конструктор в который можно передавать параметры.
Код:
unit Form1_PAS;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, ComCtrls, StdCtrls, Mask, DBCtrls,ADODB,
  Buttons, Grids, DBGrids, Db, DBClient,Variants,
  DBCtrlsEh, DBGridEh;

type
  TF_Form1 = class(TForm)
    Panel1: TPanel;
  private
    { Private declarations }
      Constructor CreateMe (p_Param1: String; p_Param2:Boolean);
  public
    { Public declarations }

implementation

USES ....;
{$R *.DFM}
//********************************************************
//********************************************************
Constructor TF_Form1.CreateMe(p_Param1:string; p_Param2:Boolean);
begin
    Inherited Create(Application);
 ...........
End;
//********************************************************
//********************************************************
Ответить с цитированием
  #20  
Старый 26.07.2008, 17:54
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

А речь и не шла о разных задачах, как раз НАОБОРОТ - задача одна, формы должны быть РАЗНЫЕ.
Вы, Ivanus, утверждаете, что у вас 3 РАЗНЫЕ формы. Но в приведенном вами коде НЕТ 3-х разных форм (нет и двух).
О чем красноречиво говорит наименование класса "Tcarnage1", который, по вашему коду, описывает и первую форму и вторую.
Класс (в смысле описание объекта) отвечает за поведение этого самого объекта и, если у вас 1-я и 2-я
формы одного и того же класса, то как вы можете добиться разного поведения объектов (форм).
Ну, это теория, а ваша задача решается просто (на примере).
При закрытии формы Form2, меняйте значения переменных в формах
Form1 и Form3:
Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
  Form1.Per1 := Per1;
  Form3.Per1 := Per1; 
  ... //и т.п
Так же можно менять значения переменных в других формах и при других событиях - все зависит от логики проекта.
Не возбраняется менять значения переменных в формах из других форм когда заблагорассудится.
-----------
P.S. И не стоит с одним и тем же вопросом рассекать разные подфорумы, их все равно читают одни и те же люди.
__________________
Не забывайте делать резервные копии

Последний раз редактировалось san-46, 26.07.2008 в 18:03.
Ответить с цитированием
  #21  
Старый 26.07.2008, 18:44
Ivanius Ivanius вне форума
Прохожий
 
Регистрация: 21.07.2008
Сообщения: 19
Репутация: 10
По умолчанию

все спасибо я уже на другом форуме прочитал где надо обьявлять переменный чтобы они были видимы для всех(не в глобал) и сделал теперь все работает скоро доделаю игрушки и покажу всему мируна прошлую версию 20тыс чел подсадил сделал вот так:
"unit Unit3;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, jpeg, ExtCtrls, Menus, global;
var
maxmp : integer;
maxhp : integer;
man : integer;
heal: integer;
ydar: integer;
kput: integer;
promah: integer;
block :integer;
i : integer;
k : integer;
j : integer;
healBPAr: integer;
manBPAr: integer;
maxmpBPAr:integer;
maxhpBPAr:integer;

type
Tcarnage1 = class(TForm)
tbl: TImage;"
и все эти переменные используються везде и негде не теряються
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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