Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#31

Re: Dynamisches Array oder Klasse als Array auslegen

  Alt 25. Sep 2006, 18:11
Zitat von marabu:
Result ist eine Pseudo-Variable, sie steht für den Funktionsrückgabewert. Du könntest genausogut den Rückgabewert an den Funktionsnamen übergeben, was aber nicht so wartungsfreundlich ist. Die Funktion wird dabei aber nicht beendet, wie z.B. bei der Anweisung return in C. Soweit die Begriffsklärung. Näheres findest du in der Delphi Online-Hilfe. Hier mein Versuch einer Umsetzung - ohne doppelte Negation:

Delphi-Quellcode:
function GetDSP(handle: DWORD): WINAMPPLUGINPROPDSP;
var
  i: DWORD;
begin
  if handle <> 0 then
    for i := 0 to Pred(winampDSPcounter) do
    begin
      Result := Winamp_DSP^[i];
      if Assigned(Result) and (Result^.handle = handle)
        then Exit;
    end;
  Result := nil;
  // GetDSP := nil // gleichwertig
end;
Gruß

marabu
Also bei dir sieht es schon mal gut aus der zweite Durchlauf der Schleife würde zum erfolg
führen wenn bei der abfrage nach dem Modul nicht ein AV auftreten würde.

Hier sind mal ein paar kleine pics der reihe nach was bei mir abgeht.

Am wichtigsten sind 3 und 4 die Addresse wird noch richtig angezeigt so wie von
AddDSP an BASS_WADSP_Load übergeben
Winamp_DSP zeigt auch noch den richtigen wert.
Aber die Adresse wird wie im nächsten Pic zu sehen von Winampdsp nicht richtig angenommen.

Liebe grüße
  Mit Zitat antworten Zitat