AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Träume, Wünsche und Wahnvorstellungen...
Thema durchsuchen
Ansicht
Themen-Optionen

Träume, Wünsche und Wahnvorstellungen...

Ein Thema von himitsu · begonnen am 16. Mai 2011 · letzter Beitrag vom 3. Jun 2013
Antwort Antwort
Seite 17 von 26   « Erste     7151617 1819     Letzte »    
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.592 Beiträge
 
Delphi 11 Alexandria
 
#161

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Jun 2011, 19:35
Richtig, denn wenn man tatsächlich etwas initialisieren muss dann kann man das bei Verwendung der Klasse über eine entsprechende Methode.

Wenn man aber die Klasse an sich ändert und die dann an den falschen Stellen verwendet wird... ohje, was für ein Durcheinander, insbesondere in einem Team... finde da mal den Fehler.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.082 Beiträge
 
Delphi 12 Athens
 
#162

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Jun 2011, 20:37
OK, dann versucht z.B. mal die interne StringList des TRichEdit zu kommen und die Bugs zu fixen, welche seit D2009 existieren, ohne die VCL neu zu kompilieren.

Irgendwer hat deren Deklaration nicht öffentlich gemacht.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#163

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Jun 2011, 21:11
OK, dann versucht z.B. mal die interne StringList des TRichEdit zu kommen und die Bugs zu fixen, welche seit D2009 existieren, ohne die VCL neu zu kompilieren.

Irgendwer hat deren Deklaration nicht öffentlich gemacht.
Dann korrigier ich mich:
Klingt für mich aber eher nach nem Workaround für schlechtes Design einen Bug.
Wieso sollte man also ein Sprach Feature einbauen, um einen Bug zu fixen?!

Und wo wir von Bug sprechen, um was handelt es sich? (schon im QC eingetragen?)
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#164

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Jun 2011, 21:40
Das sehe ich ach so. Wenn man schon etwas WÜNSCHT, dann gleich eine VCL2 (statt einer Problemlösung durch die Hintertür).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#165

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Jun 2011, 21:42
dann gleich eine VCL2
"be careful what you wish for ..."
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.082 Beiträge
 
Delphi 12 Athens
 
#166

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Jun 2011, 23:12
einfaches Beispiel:
Delphi-Quellcode:
RichEdit1.Lines.Clear;
RichEdit1.Lines.Add('fdfdfd');
RichEdit1.Lines.Add('fdfdfd');
RichEdit1.Lines.Add('xx1234567890xx');
//RichEdit1.SelStart := Pos('4567', RichEdit1.Lines.Text) - 1; // *1
RichEdit1.SelStart := Pos('4567', RichEdit1.Text) - 1; // *2
RichEdit1.SelLength := Length('4567');
1) hier ist klar, daß leider #13#10 (sLinebreak) rauskommt, obwohl man das leicht ändern könnte.
2) den Schrott hier hat Emba aber absichtlich verbaut und dabei vergessen auch SelStart/SelLength mit umzurechnen

Emba hatte mit der Umstellung auf Unicode auch endlich mal das Richedit-Control upgegradet und nutzt nun nicht mehr die überaltete Version. (von MSDN-Library durchsuchenRICHEDIT v2 auf v3 oder war's von 3 auf 4 )
Wie dem auch sei, komischer Weise nutzt diese Komponente intern als Zeilenumbruch die #13 (Mac ), also dachte Emba sich, es ist mal "schlau" und ersetzt "einfach" die #13 mit sLineBreak, beim Auslesen.
Tja, und nun haben wir den Salat ... pro Zeile verschiebt sich der Index.

Ja, es sind irgendwo mehrere QC-Einträge und auch mehrere DP-Beiträge dazu vorhanden, aber seitens Emba keine wirkliche Reaktion.
Es gibt auch 2-3 "einfache" Lösungen. (die StringList anpassen, aber leider ist der Zugriff darüber langsam und direkt über die WinAPI oder die Indize von SelStart/SelLength umrechnen)


Dis ist mal ein wirklicher Wunschtraum ... daß alle QC-Einträge beantwortet und die Probleme behoben sind.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (25. Jun 2011 um 23:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#167

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 26. Jun 2011, 00:02
Dis ist mal ein wirklicher Wunschtraum ... daß alle QC-Einträge beantwortet und die Probleme behoben sind.
Manchmal bist du echt naiv. Klar, ebend mal jedes vermeindliche "Fehlverhalten" fixen - ist ja auch total Hupe, ob Programme, die schon immer liefen, plötzlich ihren Dienst versagen, oder ihr Verhalten ändern. Hab schon oft genug erlebt, dass ein übereifriger Entwickler sich gedacht hat "Ui, da is ja nen Fehler, ich beheb den mal" und plötzlich knallts am anderen Ende, weil irgendwer mal vor Urzeiten nen Workaround gebaut hat oder sich auf dieses Verhalten verlassen hat.

Übrigens, Problem solved:
Delphi-Quellcode:
RichEdit1.Lines.Delimiter := #13;
RichEdit1.Lines.StrictDelimiter := True;
RichEdit1.SelStart := Pos('4567', RichEdit1.Lines.DelimitedText) - 1;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.082 Beiträge
 
Delphi 12 Athens
 
#168

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 26. Jun 2011, 00:59
Aber schau lieber nicht nach, was Lines macht.

Bei jedem zugriff auf Lines.Text / Lines.DelimitedText wird Memo/RichEdit erstmal komplett zerlegt.
Im Inneren speichern die den Text zusammenhängens.

Lines ließt nun jede Zeile aus und setzt das wieder zusammen.
Delphi-Quellcode:
for i := 0 to Zeilen - 1 do
  Result := Result + Zeile[i] + Zeilenumbruch;
Was soeine Schleife nun auf den Speicherverbrauch und die Laufzeit für Auswirkungen haben kann/wird, kannst'e dir bestimmt denken?

Hätte Emba nicht oder nur geringfügig (#13 => #10) in RichEdit.Text rumgepfuscht, dann sähe das anders aus, da Memo.Text, im Gegensatz zu Memo.Lines.Text, alles zusammen ausließt.


Hey, würden Fehler schneller behoben und auch mal in älteren Versionen, würden nicht so viele Langzeitbugfixes in den Programmen rumgammeln.





Gut, am Liebsten hatte ich auch mal das 1-0-Problem der Strings beseitigt, aber sowas wird wohl nie passieren.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#169

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 26. Jun 2011, 02:53
Was soeine Schleife nun auf den Speicherverbrauch und die Laufzeit für Auswirkungen haben kann/wird, kannst'e dir bestimmt denken?
Ja, unheimlich schlimme, weil man ja bestimmt im Sekundentakt die Markierung in nem RichEdit verändern möchte und das dann tierisch den Speicherverbrauch in die Höhe und die Performance in den Keller treibt...

Und wer ernsthaft ein Programm für Textverarbeitung schreibt, wo dann mal "große" Dokumente geladen sein könnten, wird bestimmt nicht TRichEdit nutzen...

Wie dem auch sei, komischer Weise nutzt diese Komponente intern als Zeilenumbruch die #13 (Mac ), also dachte Emba sich, es ist mal "schlau" und ersetzt "einfach" die #13 mit sLineBreak, beim Auslesen.
Tja, und nun haben wir den Salat ... pro Zeile verschiebt sich der Index.
Nicht, dass der Delphi Sourcecode ein Paradebeispiel für clean Code wäre, aber hätten sie es nicht so gemacht, wäre das ein klarer Verstoß gegen das Liskov Substitution Principle gewesen, denn TRichEditStrings ist nunmal von TStrings abgeleitet.

P.S. Übrigens... http://docwiki.embarcadero.com/VCL/d...hEdit.FindText
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (26. Jun 2011 um 03:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.592 Beiträge
 
Delphi 11 Alexandria
 
#170

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 26. Jun 2011, 09:56
OK, dann versucht z.B. mal die interne StringList des TRichEdit zu kommen und die Bugs zu fixen, welche seit D2009 existieren, ohne die VCL neu zu kompilieren.
Was hat das jetzt mit dem Wunsch nach Konstruktoren in einem class helper zu tun?`

Alles was man in einem class helper macht, kann man einfach manuell auslösen. Klar musst du das dann bei jedem RichEdit, das du nutzt, aber von der Frage ausgehend, ob es möglich ist, ändert sich doch nichts.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 17 von 26   « Erste     7151617 1819     Letzte »    


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 15:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz