![]() |
TstringList übergabe verkürzen
Ich möchte aus der Playliste 13 Titel na meine DLL übergeben
Bei der ersten übergabe gibt es kein Problem Bei der zweiten muss ich die TStringList löschen bis auf den Clear ist in der Funktion ansonsten alles gleich. Nun möchte ich wissen ob man diese verkürzen kann ohne alles doppelt zu schreiben.
Delphi-Quellcode:
Noch ne frage wie lang kann Title sein wenn er als string übergeben wird .. 'PlaylistEntries.CommaText'
procedure BASS_WINAMPVIS_SetPlaylistEntries(PlPos : integer; PlEntry : integer;
Title : string; changed : boolean); stdCall; Var IntI : integer; begin try if not changed then begin if PlaylistEntries = nil then PlaylistEntries := TStringList.Create; PlaylistEntries.CommaText := Title; if (PlPos + PlEntry) > 13 then begin PlaylistEntries.Free; exit; end; for IntI := PlPos to PlaylistEntries.Count do PlaylistEntries.Add(PlaylistEntries.Strings[IntI]); end else begin PlaylistEntries.clear; //>>>>>>>>> einzigste unterschied! if PlaylistEntries = nil then PlaylistEntries := TStringList.Create; PlaylistEntries.CommaText := Title; if (PlPos + PlEntry) > 13 then begin PlaylistEntries.Free; exit; end; for IntI := PlPos to PlaylistEntries.Count do PlaylistEntries.Add(PlaylistEntries.Strings[IntI]); end; except PlaylistEntries.Free; end; end; Gruss Emil |
Re: TstringList übergabe verkürzen
Delphi-Quellcode:
Und wo liegt das Problem?
if changed then clear;
//und jetzt der Rest |
Re: TstringList übergabe verkürzen
Zitat:
Die liste muss ja auch wieder aufgefüllt werden. Wo meinst denn das ich das hinsetzen soll. EDIT: Arrrggghh du meinst anstelle von
Delphi-Quellcode:
und wie lang kann Title sein wenn er als string übergeben wird .. 'PlaylistEntries.CommaText'
if not changed then
Gruss Emil |
Re: TstringList übergabe verkürzen
PUSH :duck:
Verzeiht mir nochmal.
Delphi-Quellcode:
Diese übergabe wird in der DLL mit mehr als 80 einträge ausgewertet.
for IntI := PlaylistPos to (PlaylistPos + 12) do
PlaylistEntry := PlaylistEntry + playlist.Items[IntI] + ','; BASS_WINAMPVIS_SetPlaylistEntries(PlaylistPos, PlaylistEntry, false); das kann aber nicht sein. Da nur 13 übergeben werden. Wo liegt hier der fehler ?
Delphi-Quellcode:
Thread hat sich erledigt ....
procedure BASS_WINAMPVIS_SetPlaylistEntries(PlPos : integer; Title : string;
changed : boolean); stdCall; Var IntI : integer; begin try if PlaylistEntries = nil then PlaylistEntries := TStringList.Create; if changed then PlaylistEntries.clear; begin PlaylistEntries.CommaText := Title; if PlaylistEntries.Count > 13 then begin PlaylistEntries.Free; exit; end; for IntI := PlPos to PlaylistEntries.Count do PlaylistEntries.Add(PlaylistEntries.Strings[IntI]); end; except PlaylistEntries.Free; end; end; Gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz