Die Unsafe Type warnings schalte ich immer aus. Sie sind ein Überbleibsel aus der Zeit, als Delphi zu dotNET migriert werden sollte und machen bei normalen Programmen wenig Sinn.
Hatte ich auch aus, aber laut Stefan macht es ja Sinn, diese für das "weak alias" Problem mal durchzusehen.
Was macht es denn für einen Sinn Drittanbieterbibliotheken direkt ins Projekt einzubinden und jedesmal mit zu kompilieren (außer zum Debuggen mal ausnahmsweise)? Wenn du das nicht machst, bekommst du auch nur die Meldungen zu deinen eigenen Quelltexten.
Ja ich weiß, dass man besser vorkompilierte Libraries einsetzen sollte, wegen der Kompilierzeit.
Ich habe mir das aber vor Jahren angewöhnt, als ich genau damit mal extreme Probleme hatte, mit verwaisten alten, neuen Libraries.
Das Kompilieren geht bei mir recht schnell, daher habe ich nicht unbedingt versucht das jetzt umzustellen.
So kann ich aber 100 % ausschließen, dass mir irgendwo alte
DCU, insbesondere von Drittanbietern, da reingrätschen,
damit bin ich die letzten Jahre immer gut gefahren.
Trotzdem muss ich mich ja auch fragen, inwieweit so ein Warning auch auf meinen Code Einfluss hat, wenn der in einer 3rd Library auftritt.
Aktuell ist es so, dass ich ca. 3000 Warnings bekomme aus Delphi-Source, 3rd-Library, in meinem eigenen Code habe ich 0 Warnings.
Was sollte ich denn damit machen, einfach wegschalten und vergessen?
Ich suche ja gerade mysteriöse Probleme, die bisher nie auftraten, erst ab D12.
Da finde ich den Tipp mir das mal anzusehen schon sehr gut.
Trotzdem die Frage:
Was macht ihr mit solchen Warnings?
- Einzeln im Code wegschalten ( so muss ich mir die zumindest einzeln ansehen, bein nächsten Update sind aber alle wieder drin )
- Komplett wegschalten (daher komme ich ja, aber das heißt, ich übernehme die 3rd Library ohne Rückfragen als 100% OK )
- Immer drinlassen (Also ständig 3000 Warnings zu sehen sind nicht mein Ding
)
Schalte ich im Beispiel das Warning weg, dann KANN es ja beim Aufrufer Probleme machen.
Ich kann aber jetzt auch nicht die ganzen 300 Stellen checken, wo das vielleicht verwendet wird.
Und selbst wenn, was mache ich damit, wann ist ein Aufruf "unsafe"?
Das geht schnell in Sphären, die man nicht mehr handlen kann.