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