![]() |
ein objekt von mehreren forms benutzen..
hi.. habe mal wieder eine merkwürdige frage an euch :D..
ich habe mehrere Units und Forms in meinem projekt.. ich habe auf meiner 1.Form ein objekt.. dieses objekt würde ich gerne auch auf meiner 2. und 3. Form anzeigen lassen... ich will es nicht einfach kopieren, weil ich die einstellungen des objektes in der 1. Form immer wieder mal verändere.. kann ich also einen "spiegelbild" des objektes erstellen, dass in jeder Form angezeigt wird..? |
AW: ein objekt von mehreren forms benutzen..
Übergib das Objekt einfach an die anderen Formen
Was meinst du mit "auf meiner Form" ... hört sich an wie ein Control (TEdit, TMemo, ...)? |
AW: ein objekt von mehreren forms benutzen..
is ne komponente von tms
wie übergebe ich das?.. verstehe ich nicht ganz.. |
AW: ein objekt von mehreren forms benutzen..
Es gibt mehrere Möglichkeiten
1. erstelle dir eine Form mit dem Control drauf, von der du dann anschließend ableitest 2. platziere das Control auf einem Frame und binde das Frame in beide Forms ein 3. leite dir ein eigenes Control ab und setze dort die Einstellungen so, wie du sie haben willst 4. übergebe das Control irgendwie an das 2. Form 4a. als Property 4b. über den Constructor 4c. über eine Methode je nachdem was passender zu deinem Problem ist, kannst du dir eine Möglichkeit davon aussuchen... |
AW: ein objekt von mehreren forms benutzen..
In jedem Fall kann ein sichtbares Control nur an einer Stelle angezeigt werden. Es gibt nur einen Parent.
Du könntest es ohne weiteres von einem Formular auf ein anderes verschieben, aber nicht gleichzeitig in zwei Formularen anzeigen. In dem Fall brauchst Du zwei verschiedene Komponenten, denen Du dann die gleichen Werte/Daten/Eigenschaften zuweist. Dafür gibt es dann je nach Situation wie beschrieben mehrere Wege. |
AW: ein objekt von mehreren forms benutzen..
Ich glaube für alle Published Properties wirkt
aCopy.assign(aOriginal); |
AW: ein objekt von mehreren forms benutzen..
Zitat:
Delphi-Quellcode:
bzw.
Assign
Delphi-Quellcode:
Methode berücksichtigt wurden ;)
AssignTo
Also am besten dort einmal nachschauen |
AW: ein objekt von mehreren forms benutzen..
Zitat:
|
AW: ein objekt von mehreren forms benutzen..
danke an allen.. ich weiß zwar nicht was damit gemeint ist.. aber ich mach mich schlau sobald ich zuhause bin :)
|
AW: ein objekt von mehreren forms benutzen..
Dear All,
I have two class, TCalculation and TAccounts, i would like to access one object from one class to another,I have informed that AssignTo would be the appropriate to use, could you please pointing me from the following example, how to use AssignTo in this case
Code:
//Unit1
Unit Unit1 type TCalculation = class(TForm) private protected FNewvalue: Boolean; public property Newvalue: Boolean read FNewvalue; end; //Unit2 Unit Unit2 type Taccounts = class(TForm) interface uses Unit1 private protected public procedure Checkvalue(Sender: TObject); end; implementation procedure Taccounts .Checkvalue(Sender: TObject); begin //here i want to acces the Boolean (FNewvalue) from Unit1 // i would like to mention that, i need the varable with its value End; |
AW: ein objekt von mehreren forms benutzen..
Liste der Anhänge anzeigen (Anzahl: 1)
This is the same problem, but a completely different question and situation than yesterday. It is quite hard to post a solution if you don' t know what the problem is. I wrote a short example in Delphi 7. It is not good at all because both units reference each other (you should avoid this if possible), but it works in this simple case.
Unit1:
Delphi-Quellcode:
Unit2:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TCalculation = class(TForm) btnSetValue: TButton; btnShowAccounts: TButton; procedure btnSetValueClick(Sender: TObject); procedure btnShowAccountsClick(Sender: TObject); private { Private-Deklarationen } FValue: integer; function GetValue: integer; procedure SetValue(const NewValue: integer); public { Public-Deklarationen } property Value: integer read GetValue write SetValue; end; var Calculation: TCalculation; implementation {$R *.dfm} uses Unit2; //Added Unit2 { TCalculation } function TCalculation.GetValue: integer; begin Result := FValue; end; procedure TCalculation.SetValue(const NewValue: integer); begin FValue := NewValue; end; procedure TCalculation.btnSetValueClick(Sender: TObject); begin Value := Value + 1; end; procedure TCalculation.btnShowAccountsClick(Sender: TObject); var Accounts: TAccounts; //locale variable, I deleted the global one in Unit2 begin Accounts := TAccounts.Create(nil); try Accounts.ShowModal; finally Accounts.Free; end; end; end.
Delphi-Quellcode:
The prefix "btn" stands for TButton, "edt" for TEdit.
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Unit1; //Added Unit1 type TAccounts = class(TForm) btnGetValue: TButton; edtValue: TEdit; procedure btnGetValueClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; implementation {$R *.dfm} procedure TAccounts.btnGetValueClick(Sender: TObject); begin edtValue.Text := IntToStr(Calculation.Value); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz