AGB  ·  Datenschutz  ·  Impressum  







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

Arrays übergeben

Ein Thema von kenuvis · begonnen am 28. Apr 2007 · letzter Beitrag vom 28. Apr 2007
Antwort Antwort
kenuvis

Registriert seit: 19. Apr 2006
71 Beiträge
 
Delphi 7 Enterprise
 
#1

Arrays übergeben

  Alt 28. Apr 2007, 09:37
Hallo,

ja ich weiß, das Problem wurde schon mehrmals behandelt, ich habe auch schon rumprobiert und gemacht und und und..... nur egal, was ich mache, es will einfach nicht!!!!

Also ich habe im Frame1 ein Array, dessen Inhalt ich in Frame2 haben will.
Nun, wie ich gelesen habe, muss ich einen Type dafür erstellen. Gemacht! Und nun?

Delphi-Quellcode:
type
  TCharacter = class(TFrame)
  ...
  private
  ..
  public
    // Variante 1 mit der ich es Probiert habe
    Inventar: Inv;

    // Variante 2 mit der ich es Probiert habe
    Property Inven: Inv read Inventar write Inventar;

    // Variante 3 mit der ich es Probiert habe
    Function GetInventar: Inv;
  end;
Und auf der Gegenseite dann:
Delphi-Quellcode:
type
  TFrameLaden = class(TFrame)
  ...
  private
    inv_Char: TCharacter;
    b: Eintrag;

    ......

    b := inv_char.Inven[0]; // <-- Hier geht es nicht. (EAccessViolation)
    b := inv_char.Inventar[0]; // <-- Hier geht es auch nicht. (EAccessViolation)
    b := inv_char.GetInventar[0]; // <-- Und hier ebendfalls nicht. (EAccessViolation)
Achso und hier:
type Inv = Array [0..1] of Eintrag; Hoffe mir kann einer helfen.

MfG Kenuvis
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Arrays übergeben

  Alt 28. Apr 2007, 09:42
Warum gibst du denn bei den Arrays einen Index an, wenn du das gesamte Array haben willst?Wenn b vom typ inv ist (so habe ich das jetzt verstanden), dann genügt
Delphi-Quellcode:
b:=inv_char.inven; //oder
b:=inv_char.inventar; //oder
b:=inv_char.getinventar;
Und der Frame existiert wirklich?
Hoffe geholfen zu haben
Apollonius
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
kenuvis

Registriert seit: 19. Apr 2006
71 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Arrays übergeben

  Alt 28. Apr 2007, 10:03
Ich habe nun das erst mit einem Button auslösen lassen, damit ja alles fertig geladen ist.

Delphi-Quellcode:
procedure TFrameLaden.Button1Click(Sender: TObject);
var c: inv;
begin
  c := inv_char.Inven;
  c := inv_char.Inventar;
  c := inv_char.GetInventar;
end;
Effekt ist der gleiche. Nichts geht.
Also irgendetwas fundamentales mache ich falsch.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Arrays übergeben

  Alt 28. Apr 2007, 10:19
Hast du die Klasse den instantiiert?
Markus Kinzler
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Arrays übergeben

  Alt 28. Apr 2007, 12:13
In dem Quellcode, den du gepostet hast, versuchst du der Variablen c vom Typ inv_waffen einen Wert vom Typ inv zuzuweisen.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
kenuvis

Registriert seit: 19. Apr 2006
71 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Arrays übergeben

  Alt 28. Apr 2007, 13:28
Ja, sry, das war ein schreibfehler im forum.... Soll natürlich nur inv sein.

Instanziert ??
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Arrays übergeben

  Alt 28. Apr 2007, 13:33
Zitat:
Instanziert ??
inv_Char := TCharacter.Create( ...);
Markus Kinzler
  Mit Zitat antworten Zitat
kenuvis

Registriert seit: 19. Apr 2006
71 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Arrays übergeben

  Alt 28. Apr 2007, 15:52
Nein, das hab ich nicht gemacht.
Wenn ich das mache, was soll denn da als Attribut von Create sein ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Arrays übergeben

  Alt 28. Apr 2007, 16:00
Der Owner also Form oder Nil. Erst nach Erstellung einer Instanz kann man mit der Arbeiten.
Markus Kinzler
  Mit Zitat antworten Zitat
kenuvis

Registriert seit: 19. Apr 2006
71 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Arrays übergeben

  Alt 28. Apr 2007, 16:16
Mein Held........ Danke!
Es geht! Meine Güte, wie konnt ich sowas dummes nur machen...

Na egal, ich weiß, hier wird mir geholfen, egal wie dumm ich bin.
  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 22:25 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