AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C# control auf anderen form ansprechen
Thema durchsuchen
Ansicht
Themen-Optionen

control auf anderen form ansprechen

Ein Thema von youuu · begonnen am 22. Aug 2010 · letzter Beitrag vom 22. Aug 2010
Antwort Antwort
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

control auf anderen form ansprechen

  Alt 22. Aug 2010, 16:58
Hi,

ich hoffe der Titel ist nicht zu argh nichts sagend.

Also ich habe einen Thread erstellt, der eine Methode besitzt und diese soll einen Text in eine ListBox hinzufügen.
Nur kann ich aus dem Thread gar nicht ListBox1.items.add(); aufrufen, sondern nur in der Form in der dieses Control auch existiert.

Form1.ListBox1.items.add(); funktioniert leider nicht wie in Delphi
Steven

Geändert von mkinzler (22. Aug 2010 um 17:00 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: control auf anderen form ansprechen

  Alt 22. Aug 2010, 17:01
Die VCL ist nicht multithreaded. Auf die Oberfläche sollte deshalb nur aus dem Hauptthread zugegriffen werden.

Btw: Warum weigerst du dich so vehement, Delphi-Tags zu setzen?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

AW: control auf anderen form ansprechen

  Alt 22. Aug 2010, 17:07
Wie bereits geschrieben wurde sollte man nicht von Threads aus auf die VCL-Elemente des Hauptthreads zugreifen. Das geht ganz schnell schief.
Aber zu deinem Problem: Die Listbox gehört nicht zum Thread also ist sie natürlich auch nicht im Thread so ansprechbar wie im Formular. Die Listbox gehört zum Formular. Wenn du also die Listbox von außerhalb ansprechen willst musst du vorher auch erwähnen auf welchem Formular sie liegt denn bei Verwendung von mehreren Forms könnte niemand wissen welche Listbox von welchem Formular du meinst. Daher:
DeinFormularWoDieListboxDraufLiegt.DeineListBox.Items.Add();
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#4

AW: control auf anderen form ansprechen

  Alt 22. Aug 2010, 17:13
DeinFormularWoDieListboxDraufLiegt.DeineListBox.Items.Add();

Code:
Form1.ListBox1.items.add();
Das schrieb ich ja, funktionierte aber nicht.
Oder muss ich das noch in "using" einbinden?


Delphi Tags habe ich deswegen nicht benutzt, da es um c# geht und nicht Delphi
Steven
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#5

AW: control auf anderen form ansprechen

  Alt 22. Aug 2010, 17:21
Ja klar, das richtige Namespace musst du schon einbinden.
Und ganz wichtig: Auf Groß-Und-Kleinschreibung achten.
Wie wäre es denn mal, wenn du die Fehlermeldung hier reinschreiben würdest
Wie bereits geschrieben wurde sollte man nicht von Threads aus auf die VCL-Elemente des Hauptthreads zugreifen.
Die VCL ist nicht multithreaded. Auf die Oberfläche sollte deshalb nur aus dem Hauptthread zugegriffen werden.

Btw: Warum weigerst du dich so vehement, Delphi-Tags zu setzen?
Es handelt sich um C#
Marvin
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: control auf anderen form ansprechen

  Alt 22. Aug 2010, 17:36
Das hat er vergesse zu erwähnen. Zudem sieht der Code sehr nach Delphi aus.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#7

AW: control auf anderen form ansprechen

  Alt 22. Aug 2010, 17:39
Das hat er vergesse zu erwähnen.
Schau mal in die Titelleiste deines Browsers
Also bei mir steht da:
Zitat:
C# control auf anderen form ansprechen
Marvin
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: control auf anderen form ansprechen

  Alt 22. Aug 2010, 17:40
Sorry bin halt ein blöder Depp
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

AW: control auf anderen form ansprechen

  Alt 22. Aug 2010, 17:45
Hmm, ich hatte auch auf Grund des Quelltextes auf Delphi getippt (trotz der Angabe von C#) da ich von C++ etc. einen anderen Syntax kenne.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr.
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