AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TStringlist Quellcode verändern

Ein Thema von DevLinus · begonnen am 19. Jun 2017 · letzter Beitrag vom 21. Jun 2017
Antwort Antwort
Seite 1 von 2  1 2      
SneakyBagels
(Gast)

n/a Beiträge
 
#1

AW: TStringlist Quellcode verändern

  Alt 19. Jun 2017, 07:22
Zitat:
Das Problem ist wohl eher, dass die System Units nicht mehr neu kompiliert werden.
An den System-Units würde ich gar nicht erst rumfummeln.

Zitat:
würde ich gerne die TStringlist so anpassen das sie beim Create eine ID gesetzt bekommt
Ich würde das einfach so machen...

Delphi-Quellcode:
// Das hier alles kommt ins eigene Projekt - nicht in die System-Units
type
 TStringList = class(System.Classes.TStringList)
 public
  ID: Integer; // <= ID erweitern
  constructor Create; overload;
 end;

// Konstruktor
constructor TStringList.Create;
begin
 ID := Random(1234567890) + 1; // ID setzen (nach Möglichkeit irgendeinen besseren Algorithmus)
 inherited Create;
end;


// Test
procedure TForm2.Button9Click(Sender: TObject);
var
 sl1, sl2: TStringList;
begin
 sl1 := TStringList.Create;
 sl2 := TStringList.Create;

 ShowMessage('SL1-ID: ' + IntToStr(sl1.ID));
 ShowMessage('SL2-ID: ' + IntToStr(sl2.ID));

 sl1.Free;
 sl2.Free;
end;

Geändert von SneakyBagels (19. Jun 2017 um 07:25 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: TStringlist Quellcode verändern

  Alt 19. Jun 2017, 07:27
Zitat:
würde ich gerne die TStringlist so anpassen das sie beim Create eine ID gesetzt bekommt
Ich würde das einfach so machen...
Hätte ich auch fast vogeschlagen. Aber dann müsste er sich eine neue Unit machen und die überall einbinden. Könnte bei 350 Units etwas Arbeit bedeuten.

@TE: Erzeuge mal das Projekt neu. Nicht nur kompilieren. Der Schalter ist zumindest der den ich meinte.
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#3

AW: TStringlist Quellcode verändern

  Alt 19. Jun 2017, 07:29
Zitat:
Könnte bei 350 Units etwas Arbeit bedeuten.
Bei einem 350-Units-Projekt sollte nach Möglichkeit irgendeine Unit vorhanden sein, wo man solchen kram reinschreibt

Zitat:
Wenn ich die alle durch meine austauschen soll werde ich diesen Monat nicht mehr fertig.
Was meint du mit austauschen? Hier müsstest du nichts austauschen sondern einfach nur den Kontruktor überschreiben. Der Typ der Stringliste bleibt gleich.
  Mit Zitat antworten Zitat
DevLinus

Registriert seit: 25. Apr 2017
26 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: TStringlist Quellcode verändern

  Alt 19. Jun 2017, 07:34
Zitat:
Könnte bei 350 Units etwas Arbeit bedeuten.
Bei einem 350-Units-Projekt sollte nach Möglichkeit irgendeine Unit vorhanden sein, wo man solchen kram reinschreibt

Zitat:
Wenn ich die alle durch meine austauschen soll werde ich diesen Monat nicht mehr fertig.
Was meint du mit austauschen? Hier müsstest du nichts austauschen sondern einfach nur den Kontruktor überschreiben. Der Typ der Stringliste bleibt gleich.
Naja ich muss meinen Programm ja sagen das er die TStringlist verwenden soll und nicht die Standard. Das heißt bei allen Units die Uses hinzufügen/austauschen.
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#5

AW: TStringlist Quellcode verändern

  Alt 19. Jun 2017, 07:35
Zitat:
Naja ich muss meinen Programm ja sagen das er die TStringlist verwenden soll und nicht die Standard. Das heißt bei allen Units die Uses hinzufügen/austauschen.
Deswegen ist es ja eine Cracker-Liste. Da muss man nix am Datentyp ändern. Man benutzt wie gewohnt TStringList (oder was auch immer du halt benutzt).
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#6

AW: TStringlist Quellcode verändern

  Alt 19. Jun 2017, 07:37
Nochmal... (weil es in den anderen Beiträgen untergeht )
Ohne Quelltext Änderungen und ohne extra Units: MadExcept. :

Wenn er das auch nicht auflösen kann, hast genug Beispiele für die ID in der Klasse.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: TStringlist Quellcode verändern

  Alt 21. Jun 2017, 11:25
Nochmal... (weil es in den anderen Beiträgen untergeht )
Ohne Quelltext Änderungen und ohne extra Units: MadExcept. :

Wenn er das auch nicht auflösen kann, hast genug Beispiele für die ID in der Klasse.
Suchen wo es klemmt ohne jedweden kreativen Lösungsansatz, wie langweilig......


Gruß
k-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#8

AW: TStringlist Quellcode verändern

  Alt 21. Jun 2017, 12:02
Moin...
Zitat:
Suchen wo es klemmt ohne jedweden kreativen Lösungsansatz, wie langweilig......
Ich kann leider nicht erkennen ob das ironisch gemeint war...
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: TStringlist Quellcode verändern

  Alt 21. Jun 2017, 07:26
Zitat:
Könnte bei 350 Units etwas Arbeit bedeuten.
Bei einem 350-Units-Projekt sollte nach Möglichkeit irgendeine Unit vorhanden sein, wo man solchen kram reinschreibt

Zitat:
Wenn ich die alle durch meine austauschen soll werde ich diesen Monat nicht mehr fertig.
Dann schreib doch ein Programm das das erledigt

Und noch ein Aspekt, wenn auch zu spät: nicht TStringlist verwenden. Die TStringlist verwende man nur wenn man eine Liste von Strings benötigt. Das ist meist nicht der Fall. 1. Oft wird diese missbraucht und man stopft alles mögliche da rein. Besser TList<> o.ä. Dann wird oft 2. ein string für alles möglich verwendet was besser ein TName, TDatei, TId, etc. sein sollte. Und dann siehe 1.
Siehe auch https://de.wikipedia.org/wiki/Law_of_the_Instrument
  Mit Zitat antworten Zitat
DevLinus

Registriert seit: 25. Apr 2017
26 Beiträge
 
Delphi 10 Seattle Professional
 
#10

AW: TStringlist Quellcode verändern

  Alt 19. Jun 2017, 07:29
Zitat:
Das Problem ist wohl eher, dass die System Units nicht mehr neu kompiliert werden.
An den System-Units würde ich gar nicht erst rumfummeln.

Zitat:
würde ich gerne die TStringlist so anpassen das sie beim Create eine ID gesetzt bekommt
Ich würde das einfach so machen...

Delphi-Quellcode:
// Das hier alles kommt ins eigene Projekt - nicht in die System-Units
type
 TStringList = class(System.Classes.TStringList)
 public
  ID: Integer; // <= ID erweitern
  constructor Create; overload;
 end;

// Konstruktor
constructor TStringList.Create;
begin
 ID := Random(1234567890) + 1; // ID setzen
 inherited Create;
end;


// Test
procedure TForm2.Button9Click(Sender: TObject);
var
 sl1, sl2: TStringList;
begin
 sl1 := TStringList.Create;
 sl2 := TStringList.Create;

 ShowMessage('SL1-ID: ' + IntToStr(sl1.ID));
 ShowMessage('SL2-ID: ' + IntToStr(sl2.ID));

 sl1.Free;
 sl2.Free;
end;
Prinzipiell stimme ich dir vollkommen zu. Das Problem ist in dem Projekt werden fast 3 Millionen Zeilen Code mit ein Compiliert und Tausende Stringlisten verwendet. Wenn ich die alle durch meine austauschen soll werde ich diesen Monat nicht mehr fertig.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 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