AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
Thema durchsuchen
Ansicht
Themen-Optionen

Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

Ein Thema von Rollo62 · begonnen am 22. Nov 2023 · letzter Beitrag vom 24. Nov 2023
Antwort Antwort
Seite 1 von 2  1 2      
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#1

Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 22. Nov 2023, 21:03
Delphi-Version: 11 Alexandria
Hallo zusammen,

wie oben beschrieben, möchte ich System.Variants.pas lokal unter das Projektverzeichnis kopieren und einbinden.
Damit möchte ich Loggingfunktionen einbauen, um unter Android mehr Fehler-Hinweise zu bekommen.
Leider ist das Debugging unter Android nicht richtig nutzbar, deshalb muss ich mich mit intensivem Logging versuchen.

Bei den meisten Units funktioniert die lokale Kopie ja sehr gut, nicht aber mit den System-Units, wie System.Variants.pas.
Die Meldung die ich bekomme ist
Zitat:
[DCC Fatal Error] System.VarUtils.pas(1219): E2158 System.Variants unit out of date or corrupted: missing '@VarToInteger'
Ich glaube ja, dass man von manchen System-Units keine lokale Kopie nutzen kann, weil die da tief in Assembler und Pointer verstrickt sind.

Wovon hängt die Nutzung ab, gibt es da klare Regeln, was geht und was nicht geht?
Geht es mit einem Hack (Trick) eventuell doch irgendwie?
Dann wäre ich über eine kleine Hilfestellung sehr dankbar.
  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
 
#2

AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 22. Nov 2023, 21:50
Bekommst du die Meldung auch wenn du die originale Unit lokal ablegst oder erst wenn du sie änderst?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 22. Nov 2023, 22:33
Normal werden die Delphi-Units vorkompiliert genutzt (DCU)
womit andere "Delphi"-Units natürlich nicht deine Kopie benutzen, aber falls es doch genutzt wird, dann kann es zu Konflikten mit der originalen Unit (DCU) kommen, wenn deine PAS eingebunden wird, aber etwas gleichzeitig auf Teile der anderen Unit referenzieren.
$2B or not $2B
  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
 
#4

AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 22. Nov 2023, 22:58
In der Regel kann man das schon machen, wenn man keine Änderungen im interface Teil der Unit vornimmt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#5

AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 23. Nov 2023, 09:29
Bekommst du die Meldung auch wenn du die originale Unit lokal ablegst oder erst wenn du sie änderst?
Ja, das passiert auch unverändert.
Allerdings habe ich den Schreibschutz entfernt.
Ändern würde ich nur im implementation Teil.
  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
 
#6

AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 23. Nov 2023, 10:33
Passiert das mit und ohne Debug-DCUs?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DenkDirNix

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

AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 23. Nov 2023, 11:15
Hast Du die Unit eventuell aus einer älteren Delphi-Version heraus kopiert und nicht aus der mit der Du übersetzt?
  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
 
#8

AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 23. Nov 2023, 11:47
Also ich kann das hier problemlos machen.

Oder hast du in deinem Projekt zufällig ein GENERICVARIANTS in den Defines? Denn nur dann wird ein uses System.Variants in System.VarUtils aktiviert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#9

AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 23. Nov 2023, 20:03
Ich habe das in einem größeren Projekt versucht, ich versuche es morgen nochmal mit einem leeren Projekt.
Die normalen Debug-DCU's sind aktiv, es ist nichts an den Settings verstellt, ich kann also den Source normal debuggen.
Nein, ist auch nicht aus einem älternen Projekt, sondern aus dem Delphi/Source Verzeichnis, mit dem ich auch testen möchte.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#10

AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?

  Alt 24. Nov 2023, 13:18
Hallo Uwe,

ich habe es nochmal mit einem ganz leeren Projekt versucht, nur die System.Variants Unit lokal.
Das kompiliert nicht bei mir, weder für Win32 noch für Android32/64.

Immer mit dem Fehler
"[dcc32 Fatal Error] System.Variants.pas(1271): E2158 System.Variants unit out of date or corrupted: missing '@VarCast'"

Falls das so, ohne weiteres bei Dir kompiliert, dann wüsste ich gerne warum das hier nicht funktioniert.
Ich habe eigentlich ein ziemlich natives RadStudio 11.3, mit nur ein paar Tools geladen (TestInsight, Kastri ) sonst eigentlich nur Sourcen.

Der ursprüngliche Grund, warum ich das laden wollte, hat sich mittlerweile erledigt.
Allerdings wäre es interessant zu wissen warum es mal geht und mal nicht.

Hier ist mein minimales Testprojekt:
T489_TstSysUnit_001.zip
  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 13:33 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