![]() |
Delphi-Version: 11 Alexandria
Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
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:
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. |
AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
Bekommst du die Meldung auch wenn du die originale Unit lokal ablegst oder erst wenn du sie änderst?
|
AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
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. |
AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
In der Regel kann man das schon machen, wenn man keine Änderungen im interface Teil der Unit vornimmt.
|
AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
Zitat:
Allerdings habe ich den Schreibschutz entfernt. Ändern würde ich nur im implementation Teil. |
AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
Passiert das mit und ohne Debug-DCUs?
|
AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
Hast Du die Unit eventuell aus einer älteren Delphi-Version heraus kopiert und nicht aus der mit der Du übersetzt?
|
AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
Also ich kann das hier problemlos machen.
Oder hast du in deinem Projekt zufällig ein
Delphi-Quellcode:
in den Defines? Denn nur dann wird ein
GENERICVARIANTS
Delphi-Quellcode:
in
uses System.Variants
Delphi-Quellcode:
aktiviert.
System.VarUtils
|
AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
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. |
AW: Lokale Kopie von System.Variants.pas einbinden und nutzen, geht das?
Liste der Anhänge anzeigen (Anzahl: 1)
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: Anhang 56462 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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