Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: Problem bei statischer/dynamischer DLL-Einbindung

  Alt 3. Sep 2005, 14:33
Die Funktion ist ineffizient, da sie heimlich dauernd Strings alloziiert.
Delphi-Quellcode:
function GetTranslation(AName: PChar): PChar; stdcall;
var
  I: Integer;
begin
  Result := nil;
  // erst mal nil und Leerstring aussortieren
  if (AName <> nil) and (AName[0] <> #0) then
    // Low und High benutzen
    for I := Low(Language) to High(Language) do
      // den PChar Vergleicher benutzen
      if StrComp(Language[I].Name, AName) = 0 then
      begin
        Result := Language[I].Translation;
        // immer den schwaechsten Abbruch waehlen
        Break;
      end;
end;
Die obige Version kommt ohne temporaere Strings aus.
  Mit Zitat antworten Zitat