Moin, moin,
nachdem ich in Delphiforen immer wieder auf CD/Musik - Verwaltungsprogramme in Rahmen von Fragen gestossen bin, dachte ich mir probier ich halt auch mal das "Hello World"-Delphi Program.
Soweit so gut, nun stosse ich wohl gerade auf ein total triviales Problem wo ich - uhh- einfach nicht weiter weiss und meine versuche in meiner Delphi7 offline Hilfe, meine schlaues Buch und die Forensuche hier nicht weiter hilft. (Bestimmt steht hier die Lösung irgendwo aber ich finde die nicht
)
Ich hab folgende Klasse:
Delphi-Quellcode:
type
TCD = class(TObject)
interpret : string;
albumTitle : string;
genre : string;
songTitles : TStringList;
public
// set values interpret, albumtitle, genere, songList
procedure setValues(interpreter, album, musictype : string; songTitle : TStrings);
// gets the value of the actual selectet CD
procedure getValues(var interpreter, album, musictype : string;var songTitle : TStringList);
end;
var
CD : TCD;
CDList : TObjectList;
...
procedure TCD.setValues(interpreter, album, musictype : string; songTitle : TStrings);
begin
self.interpret := interpreter;
self.albumTitle := album;
self.genre := musictype;
self.songTitles:= TStringList.Create;
self.songTitles.assign(songTitle);
end; // end setValues
procedure TCD.getValues(var interpreter, album, musictype : string; var songTitle : TStringList);
var i : Integer;
begin
interpreter := self.interpret;
album := self.albumTitle;
musictype := self.genre;
songTitle.Assign(self.songTitles);
end; // end getValues
Mit folgendem Testbutton auf einer Form
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
s1,s2,s3,s4,s5,s6: String;
slist1 :TStrings;
slist2 :TStringList;
mycd : TCD;
cd1 : TCD;
begin
mycd := TCD.Create;
slist1 := TStringList.Create;
slist1.add('Testsong');
mycd.setValues('Inter','Album','MTyp',slist1);
mycd.getValues(s1,s2,s3,slist2);
ShowMessage(s1+' '+s2+' '+s3+' '+slist2.Text);
CDList.Add(mycd);
cd1:= TCD(CDList.First);
cd1.getValues(s4,s5,s6,slist2);
ShowMessage('aus der CDlist:'+s4+s5+s6+slist2);
end;
Wenn ich jetzt meine Testprozedur laufen lasse bekomme ich immer die Fehlermeldung dass ich auf Speicheradresse 000000 von Speicheradresse 000000 zugreife. Okay soweit ich es rausfinde fliegt die
Exception beim letzen ShowMessage aufruf wenn ich slist2 drin habe, ergo läuft die Übergabe falsch, aber ich hab keine Ahnung was ich da falsch mache und mir raucht schon der Schädel.
Wäre einer so nett und kann mir helfen?
Gruß
Ma.Ge.