AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language generischen Typen als "irgendeinen" String-Typen deklarieren
Thema durchsuchen
Ansicht
Themen-Optionen

generischen Typen als "irgendeinen" String-Typen deklarieren

Ein Thema von himitsu · begonnen am 12. Sep 2010 · letzter Beitrag vom 13. Sep 2010
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#1

AW: generischen Typen als "irgendeinen" String-Typen deklarieren

  Alt 12. Sep 2010, 22:13
Es wäre schön, wenn es wirklich endlich mal einen zweifasigen Compiler gäbe und dieser erst die Tüpenprüfungen macht, wenn er einen Typen übergeben bekommt.
Er hat Jehova gesagt
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
376 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: generischen Typen als "irgendeinen" String-Typen deklarieren

  Alt 13. Sep 2010, 07:32
@Uwe

[ot]

...ist hier etwa Weibsvolk anwesend ?

Ps. Ich liebe diesen Film!
Andreas Schachtner
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: generischen Typen als "irgendeinen" String-Typen deklarieren

  Alt 13. Sep 2010, 17:45
So, fast alle Arbeit umsonst.

Mein Fazit:
Für eine gleichzeitige Ansi/Unicode-Programmierung ist diese besch** Generic-Implementierung absolut nicht zu gebrauchen.

Danke Emba, für eure tolle Arbeit.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: generischen Typen als "irgendeinen" String-Typen deklarieren

  Alt 13. Sep 2010, 18:37
Dazu ist sie eigentlich auch nicht gedacht
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: generischen Typen als "irgendeinen" String-Typen deklarieren

  Alt 13. Sep 2010, 19:31
Mal ehrlich, vergiss den ganzen AnsiKrams und benutz string und fertig. Wer dennoch was nicht Unicode kompatibles haben will solls halt erst in string umcasten und in deine Methoden reingeben.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

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

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

AW: generischen Typen als "irgendeinen" String-Typen deklarieren

  Alt 13. Sep 2010, 19:47
Das ist eine Bibliothek, welche mit Ansi, UTF-8 und Co. umgehen können muß.
Da gibt es keinen anderen Weg.

Wenn ich dieses nur als "String" (Unicode) auslege, dann müssen "extern" Stringumwandlungen vorgenommen werden und das erzeugt zusätzliche Fehlerquellen.
Es gibt schon seine Grüne, warum ich seit Monaten versuche hierfür eine Ansi/Unicode-kompatible Schittstelle hinzubekommen.

Über die Generics hatte ich mir hier (intern) ein paar Vereinfachungen erhofft, in Form von knapp 1000-2000 Zeilen Quellcode, aka knapp 1/4 bis 1/3 eingesparten "doppelten" Code.
Nja, knapp 2-3 Tage umsonst dahingegangen, wärend ich versuchte die Generics passend hinzubiegen und dann scheiterte es an Compilerfehlern.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (13. Sep 2010 um 19:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: generischen Typen als "irgendeinen" String-Typen deklarieren

  Alt 13. Sep 2010, 19:58
Type constraints kannst du in Delphi nur auf Interfaces oder Klassen angeben (glaub zusätzlich noch den "Muss constructor besitzen" Constraint, sonst fällt mir keiner ein) sonst nix. Das geht (wenn überhaupt, ich mach nicht viel damit) in .Net nur, weil alles ein object ist.

Mach entweder 2 oder mehrere Klassen aus dem Teil, welche ganz klar die Stringtypen abgrenzen oder schmeiß bestimmte davon ganz raus. Generics sind kein Werkzeug um mal eben zwei verschiedene Sachen (auch wenn sie ähnlich sind) in eins zu quetschen.

@Andreas: Es könnte möglich sein, die Technik, die man schon vor den Generics für eine typensichere TObjektList nutzen konnte, auch dafür zu nutzen, das funktionierte auch über sowas wie nen Template, aber genau weiß ichs auch nicht. (Quelle)
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (13. Sep 2010 um 20:02 Uhr)
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: generischen Typen als "irgendeinen" String-Typen deklarieren

  Alt 13. Sep 2010, 19:54
Für eine gleichzeitige Ansi/Unicode-Programmierung ist diese besch** Generic-Implementierung absolut nicht zu gebrauchen.
Das liegt vielleicht daran, dass für dein Vorhaben Templates notwendig sind und Delphi hat diese nicht. Delphi hat hier nur Generics im Angebot (die auch noch ein paar Bugs haben). Bei C# hättest du die selben Probleme (bis auf dass String dort ein object ist und somit über ToSring() verfügt, aber im Endeffekt würdest du dort dann auch wieder alles nach Unicode-String konvertieren, damit arbeiten und zurückschreiben).
Generics sind nun mal keine C++Templates.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:30 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 by Thomas Breitkreuz