Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi auf komponenten eines zweiten formulars zugreifen (https://www.delphipraxis.net/148320-auf-komponenten-eines-zweiten-formulars-zugreifen.html)

Spanky_Ham 27. Feb 2010 16:38


auf komponenten eines zweiten formulars zugreifen
 
ich habe 2 formblätter und will auf eniem image auf Form1 etwas zeichnen (durch klick eines buttons der sich auf Form2 befindet).

zunächst erstelle ich Form1 mit

Delphi-Quellcode:
Form1 := TForm1.Create(Form2);
Form1.Show;
wenn ich das programm starte sind auch beide fenster sichtbar. wenn ich aber nun eine prozedur aufrufe, die auf Form1.Image1 zeichnen soll, geschieht nichts.
in der projektdatei sind beide units eingebunden. (die standard form, die von anfang an da ist, ist übrigens Form2, danach wurde erst Form1 erstellt).
was muss ich noch machen um auf komponenten anderer formulare zugreifen zu können?

DeddyH 27. Feb 2010 16:41

Re: auf komponenten eines zweiten formulars zugreifen
 
In der Unit von Form2 muss die von Form1 eingebunden sein, dann kannst Du mit Form1.Image1 auf das Image zugreifen.

Spanky_Ham 27. Feb 2010 16:54

Re: auf komponenten eines zweiten formulars zugreifen
 
hab ich schon, es geschieht einfach nichts wenn ich den button drücke :wall:

Jens Hartmann 27. Feb 2010 16:56

Re: auf komponenten eines zweiten formulars zugreifen
 
z.B.
Delphi-Quellcode:
Form2.Button2.Click;
Wenn die Unit in Unit1 eingebunden ist, kannst Du mit dem Namen der Form auf die Unit zugreifen.

DeddyH 27. Feb 2010 16:57

Re: auf komponenten eines zweiten formulars zugreifen
 
Dann musst Du in der 2. Zeile etwas ändern :roll:

Spanky_Ham 27. Feb 2010 23:01

Re: auf komponenten eines zweiten formulars zugreifen
 
die unit ist eingebunden, es gibt auch keine fehlermeldung. die anweisung Form1.Image1... ergibt auch keinen fehler. wenn ich das programm gestartet habe, tut sich jedoch nichts bei dem Image auf form1, wenn ich auf den button auf form2 klicke. muss möglicherweise erst die form1 "freigegeben" werden, sodass man von anderen formularen aus "zugreifen" kann?

ghost007 28. Feb 2010 02:24

Re: auf komponenten eines zweiten formulars zugreifen
 
nein, durch das einbinden sollte alles geregelt sein.

was soll denn passieren, wenn du auf den button klickst?

DeddyH 28. Feb 2010 09:12

Re: auf komponenten eines zweiten formulars zugreifen
 
Zitat:

Zitat von DeddyH
Dann musst Du in der 2. Zeile etwas ändern :roll:

Was im Klartext heißen sollte: zeig mal Deinen Code.

Spanky_Ham 28. Feb 2010 12:43

Re: auf komponenten eines zweiten formulars zugreifen
 
wenn ich auf den button klicke soll auf einem image der anderen form text ausgegeben werden.

meine .dpr sieht so aus:
Delphi-Quellcode:
program test;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form2},
  Unit2 in 'Unit2.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
und das ist der teil meiner Unit1:

Zitat:

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

.....

procedure bla(...);
begin
Form1.Image1.Canvas.TextOut(...xyz...);
end;
das war schon alles. die form1 habe ich natürlich durch Form1.Show sichtbar gemacht vorher. hat jemand ne idee was der fehler sein könnte?

DeddyH 28. Feb 2010 15:13

Re: auf komponenten eines zweiten formulars zugreifen
 
Ein Image ist eigentlich nicht dazu gedacht, dass man darauf herumzeichnet. Nimm stattdessen einmal eine PaintBox und zeichne in deren OnPaint-Ereignis, dann sollte das auch klappen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz