Thema: Delphi Funktion erstellen

Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#52

Re: Funktion erstellen

  Alt 21. Jul 2004, 08:22
Jetzt greife ich mal kurz ein.

@Rackergen2: Ich bewundere Deinen Einsatz und Deinen Mut, den Du hier an den Tag legst. Allerdings muss ich Dich bitten etwas Deine Wortwahl und Deinen Hochmut zu zügeln.

@onlinehome: Ich würde Dir empfehlen Deine Methode createautorunfile entsprechend diesem Vorschlag anzupassen: http://www.delphipraxis.net/internal...=206457#206457

Ansonsten mache ich den Thread zu, damit es hier nicht zu weiteren Ausschreitungen kommt. Sollte onlinehome wünschen, daß ich diesen Thread wieder eröffne, sende mir bitte eine kurze PM.

@Rackergen2: Warum ist die genannte Lösung die sauberste? Ja, weil auch bei einem einfach Strings.Add verschiedene Exceptions auftreten können, hier ein paar Auszüge aus evtl. abgearbeiten Code-Abschnitten (während Du "nur" Add aufrufst):
Delphi-Quellcode:
procedure TStringList.Grow;
var
  Delta: Integer;
begin
  if FCapacity > 64 then Delta := FCapacity div 4 else
    if FCapacity > 8 then Delta := 16 else
      Delta := 4;
  SetCapacity(FCapacity + Delta);
end;

procedure TStringList.InsertItem(Index: Integer; const S: string; AObject: TObject);
begin
  Changing;
  if FCount = FCapacity then Grow;
  if Index < FCount then
    System.Move(FList^[Index], FList^[Index + 1],
      (FCount - Index) * SizeOf(TStringItem));
  with FList^[Index] do
  begin
    Pointer(FString) := nil;
    FObject := AObject;
    FString := S;
  end;
  Inc(FCount);
  Changed;
end;

procedure TStringList.Put(Index: Integer; const S: string);
begin
  if Sorted then Error(@SSortedListError, 0);
  if (Index < 0) or (Index >= FCount) then Error(@SListIndexError, Index);
  Changing;
  FList^[Index].FString := S;
  Changed;
end;
Sollte jemand Probleme oder Bauchschmerzen mit meinem Handlen oder Fragen zu oben geführtem Beweis haben, ihr wisst ja, wie man mir eine PM sendet

* * * LOCKED * * *


......

P.S.: Das Problem ist ja glücklicherweise gelöst
Daniel W.
Ich bin nicht zurück, ich tue nur so