AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Kann Rudy's Big Number library nicht kompilieren…
Thema durchsuchen
Ansicht
Themen-Optionen

Kann Rudy's Big Number library nicht kompilieren…

Ein Thema von Andreas13 · begonnen am 14. Mai 2023 · letzter Beitrag vom 20. Mai 2023
Antwort Antwort
Seite 3 von 5     123 45      
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#21

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 14. Mai 2023, 17:52
Ich mußte von XE5 aus BigNumbers.dproj und BigNumbers.dpk neu erstellen, und erst dann konnte ich es kompilieren & installieren. Anscheinend war etwas "Neues & Unbekanntes" in der Projektdatei, was alles blockiert hat.
Danke für Eure Hilfe und wertvollen Tipps!

Ich teste weiter...
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)

Geändert von Andreas13 (14. Mai 2023 um 17:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 14. Mai 2023, 18:13
Delphi-Referenz durchsuchenexperimental ist wie Delphi-Referenz durchsuchendeprecated eine bloße Markierung.
Einmal dass etwas alt ist und zukünftig nicht mehr benutzt werden "sollte", weil es z.B. vermutlich bald rausfliegt.
Und andersrum dass etwas neu ist und noch nicht für die "normale" Verwendung empfohlen wird, da z.B. ungetestet, noch nicht fertig und könnte sich eventuell nochmal grundlegend verändern werden.

Drauf hören muß man nicht unbedingt, aber ...



Oder die Warnungen bezüglich Delphi-Referenz durchsuchenplatform, damit man aufpasst, dass es in anderen Plattformen (iOS/Linux/Android/...) eventuell nicht verfügbar ist, falls man mal auf die Idee kommen sollte sowas versuchen zu wollen.
$2B or not $2B

Geändert von himitsu (14. Mai 2023 um 18:17 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#23

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 14. Mai 2023, 19:24
Ich konnte BigNumbers.dpk zwar kompilieren & installieren, aber das ganze Spiel beginnt von vorne, wenn ich BigNumVisualizers.dproj und BigNumVisualizers.dpk versuche zu kompilieren:
[dcc32 Warnung] Velthuis.BigRationals.pas(167): W1025 Sprach-Feature wird nicht unterstützt: 'class constructor'
[dcc32 Warnung] Velthuis.BigRationals.pas(333): W1025 Sprach-Feature wird nicht unterstützt: 'operator explicit'
... ca. 20-mal
[dcc32 Warnung] Velthuis.BigDecimals.pas(512): W1025 Sprach-Feature wird nicht unterstützt: 'operator explicit'
[dcc32 Fehler] Velthuis.BigIntegers.Visualizers.pas(96): E2065 Ungenügende Forward- oder External-Deklaration: 'TDebuggerBigIntegerVisualizer.GetSupportedType'
[dcc32 Fataler Fehler] BigNumVisualizers.dpk(41): F2063 Verwendete Unit 'Velthuis.BigIntegers.Visualizers.pas' kann nicht compiliert werden
obwohl ich BigNumVisualizers.dproj und BigNumVisualizers.dpk von XE5 erstellen ließ. Wahrscheinlich ist die Bibliothek nur für neueste Delphi-Versionen geeignet.

Darüber hinaus steht in https://github.com/TurboPack/RudysBi...ki/BigDecimals
„Currently, there are no functions that provide higher mathematical functions (except Sqrt) for BigDecimals. I intend to write a new unit that provides functions like Cos, ArcTan, SinH, Ln, Exp or Pi with a set precision, but that is still in the planning stage.“

Ich glaube, ich gebe auf, denn es scheint nicht noch ausgereift zu sein , und bleibe doch bei Gammatester’s (= Wolfgang Ehrhardt) zwar viel komplizierteren, jedoch funktionierenden MPA-Bibliotheken...

Danke für Eure Hilfe!
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 14. Mai 2023, 19:37
denn es scheint nicht noch ausgereift zu sein
Das ist halt nicht für so alte Delphi-Versionen gedacht.

Du kannst ja alternativ mal den Originalcode von Rudy probieren: https://github.com/rvelthuis/DelphiBigNumbers
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming

Geändert von Uwe Raabe (14. Mai 2023 um 19:40 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#25

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 14. Mai 2023, 19:39
obwohl es in jeder Unit steht: "Language: Delphi version XE2 or later"
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 14. Mai 2023, 20:02
Klingt so, als wenn immer jeder Entwickler nicht nur den Code radikal umbaut, sondern auch gleichzeitig die Dokumentation anpassen würde.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 14. Mai 2023, 22:13
[dcc32 Warnung] Velthuis.BigRationals.pas(167): W1025 Sprach-Feature wird nicht unterstützt: 'class constructor'
[dcc32 Warnung] Velthuis.BigRationals.pas(333): W1025 Sprach-Feature wird nicht unterstützt: 'operator explicit'
Das gab es bei XE5 auch schon. Die Warnungen kommen daher, dass in dem Projekt in den Projektoptionen unter Delphi-Compiler --> Ausgabe - C/C++ --> Erzeugung der C/C++-Ausgabedatei etwas anderes als "Nur DCUs erzeugen" drin steht. C++ kennt diese Sprachkonstrukte nicht (bzw. kannte sie in XE5 zumindest nicht), so dass es bei Erzeugung der C++ Dateien diese Warnungen gibt.

Deshalb kommt auch eine valide Warnung zu einem Sprach-Feature, denn wenn der Compiler dieses nicht kennen würde, würde er den Bezeichner bemängeln.

Das Problem ist also nur "Ungenügende Forward- oder External-Deklaration: 'TDebuggerBigIntegerVisualizer.GetSupportedType'". Da musst du mal schauen. Ich sehe da auf den ersten Blick kein Problem.

// EDIT:
Ach so, doch, das {$IFDEF GENERICS} steht nur unten bei der Implementierung, nicht aber oben in der Interface-Deklaration...
GENERICS erst ab Delphi 10.2 hätte ich nun nicht erwartet.

Heißt:
Einfach oben die bemängelte Deklaration auch in das IFDEF packen. Dann klappt es auch noch mit XE2.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (14. Mai 2023 um 22:41 Uhr)
  Mit Zitat antworten Zitat
DenkDirNix

Registriert seit: 13. Dez 2018
71 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 15. Mai 2023, 06:56
...und erübrigt manchmal sogar das Hinzufügen einer Unit in der Uses-Clause um lediglich Zugriff auf die Typdeklaration zu bekommen.
Das ist ja cool. Wie löst der Compiler das dann ???
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 15. Mai 2023, 07:10
...und erübrigt manchmal sogar das Hinzufügen einer Unit in der Uses-Clause um lediglich Zugriff auf die Typdeklaration zu bekommen.
Das ist ja cool. Wie löst der Compiler das dann ???
Durch Type Inference. Er ermittelt bei einer solchen Deklaration zunächst den Typ des Rückgabewerts und übernimmt den dann für die Variable. Die Unit dazu braucht er dann nicht selbst in der uses, da er den Typ ja bereits kennt und nicht ermitteln muss.

Genau das kann aber auch nicht sofort zu findende Kompilierfehler auslösen, weshalb ich kein Freund davon bin. Wenn man z.B. eine fremde Unit eingebunden hat (aber natürlich auch bei eigenen) und dann ein Update einspielt, kann es sein, dass sich der Typ des Rückgabewerts dort ändert. Nun übernimmt der Compiler klaglos den neuen Typ. Erst bei der späteren Verwendung der Variablen gibt es dann ggf. einen Fehler. Wenn man nun nicht genau im Kopf hat, welcher Rückgabetyp da vorher kam, wundert man sich erst einmal. Wenn man aber den Typ explizit angegeben hat, sieht man direkt, dass das nun ein anderer Typ ist.

Ja, in Schleifen sind Inline Variablen durchaus praktisch und haben auch den Vorteil des eingeschränkten Scopes.

Wer aber Inline Variablen nutzt, um nicht zur Deklaration scrollen zu müssen, hat einfach zu lange Methoden...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Kann Rudy's Big Number library nicht kompilieren…

  Alt 15. Mai 2023, 09:57
Wer aber Inline Variablen nutzt, um nicht zur Deklaration scrollen zu müssen, hat einfach zu lange Methoden...
Ich benutze mittlerweile auch recht oft sowas (auch wenn die Methode nur dieses Konstrukt enthält):
Delphi-Quellcode:
var myInstance := TMyObject.Create;
try
...
finally
  myInstance.Free;
end;
Will ich den Typ ändern, muss ich das nur an einer Stelle tun. Oft starten solche Konstrukte mit TStringList, die über ein TDictionary später zu einer Spezialklasse mutiert.

Natürlich ist das keine große Sache und Sync-Edit hilft ja auch schon viel, aber ich finde das einfach eleganter.

Wenn ich mal gute Laune habe, spendiere ich auch noch ein bedingungsloses begin/end, um wie beim for-loop den Scope einzugrenzen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 00:22 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