AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Listview über Form2

Ein Thema von Chris1986 · begonnen am 1. Dez 2003 · letzter Beitrag vom 1. Dez 2003
Antwort Antwort
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#1

Zugriff auf Listview über Form2

  Alt 1. Dez 2003, 00:08
Hallo,
ich habe eine Form1, auf der eine Listview ist. Mit einer Function die als public deklariert ist lassen sich die Werte auslesen. Das funktioniert allerdings nur, wenn ich aus Form1 auf die Listview zugreife. Versuche ich die Function über einen Button auf Form2 aufzurufen, bekomme ich eine Fehlermeldung. Kann mir jemand helfen? Hier mal der Quelltext:

Delphi-Quellcode:
  public
    { Public-Deklarationen }
    function oeffne_Tuerchen(Datum: word): TTuerchen; {TTuerchen = record
                                                                      Bild,
                                                                      Bildtext; string;
                                                                     end;}


//...

implementation
function TVerwaltung.oeffne_Tuerchen(Datum: word): TTuerchen;
//gibt die Werte die in der Listview stehen zurück
var lauf,
    Zeile: integer;
begin
  Result.gefunden := false;
  
  for lauf := 0 to lstvVerwaltung.Items.Count-1 do //<= hier wird die Zugriffsverletzung ausgegeben
  begin
    if lstvVerwaltung.Items.Item[lauf].Caption = inttostr(Datum)
      then begin
             Zeile := lauf;
             Result.gefunden := true;
             break;
           end;
  end;

  if not Result.gefunden
    then exit;

  Result.Bild := lstvVerwaltung.Items.Item[Zeile].SubItems.Strings[0];
  Result.Bildtext := lstvVerwaltung.Items.Item[Zeile].SubItems.Strings[1];
end;
TTuerchen ist ein record-Typ. Ich probiere nämlich gerade einen Adventskalender zu programmieren 8)

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
Torsten156

Registriert seit: 3. Nov 2003
7 Beiträge
 
Delphi 7 Professional
 
#2

Re: Zugriff auf Listview über Form2

  Alt 1. Dez 2003, 01:14
Hallo,
hast Du denn in der Unit der Form2 in der uses-Klausel auch die Form1 referenziert(angegeben)?
Denn, wenn der Aufruf der function nicht weis, wo sich diese befindet, wie soll sie dann darauf zugreifen...

Gruß Torsten156
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Zugriff auf Listview über Form2

  Alt 1. Dez 2003, 06:40
Hi
Ja, die Unit der Form1 habe ich in Form2 eingebunden. Oder muss ich noch mehr machen?
MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Zugriff auf Listview über Form2

  Alt 1. Dez 2003, 18:55
Moin Christian,

wenn Du an der genannten Stelle eine AV bekommst, dann wird der ListView zu dem Zeitpunkt noch nicht existieren.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Zugriff auf Listview über Form2

  Alt 1. Dez 2003, 20:52
Hi
Christian. Form1 und die Listview sind aber schon sichtbar. Ich kann die Listview auch benutzen.

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
mr2

Registriert seit: 3. Mai 2003
140 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: Zugriff auf Listview über Form2

  Alt 1. Dez 2003, 21:40
Hallo,

Lass Dir in der Methode mal mit
  ShowMessage(Format('%x', [Pointer(Self)])); den Self-Pointer ausgeben.
Dann wirst Du sehen, dass das Formular nicht existiert bzw. zwei verschiedene Pointer verwendet werden.
Einer für das (wie Du schreibst) angezeigte Formular und einer für das mit der Zugriffsverletzung.
Falls das alles nicht hilft, müsstest Du mal etwas mehr Code posten.
"... we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we don't know. But there are also unknown unknowns - the ones we don't know we don't know."
  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 18:08 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