Forum: Sonstige Fragen zu Delphi
Delphi
by Der schöne Günther,
13. Jun 2020
Die Ursache war übrigens eine ganz andere: Die Definition von TLoadedImage ist in 10.4 falsch, was dann dazu führte dass in den Bereich vom AnsiString reingeschrieben wurde.
(https://quality.embarcadero.com/browse/RSP-29567)
Forum: Sonstige Fragen zu Delphi
Delphi
by Der schöne Günther,
12. Jun 2020
Ah danke, jetzt habe sogar ich das verstanden. Und ja, unter 10.4 Sydney sieht es nun anders aus:
function _LStrToPChar(const S: _AnsiStr): _PAnsiChr;
begin
if Pointer(s) = nil then
Result := @(PEmptyString(Pointer(EmptyStringA))^.Nul)
else
Result := Pointer(s);
end;
Forum: Sonstige Fragen zu Delphi
Delphi
by Der schöne Günther,
12. Jun 2020
Ich glaube das betrifft nur die iOS und Android-Compiler, oder?
Es muss ja irgend etwas mit der Referenzzählung des Strings sein, denn durch Einführen einer zusätzlichen Variable funktioniert es ja wieder.
Forum: Sonstige Fragen zu Delphi
Delphi
by Der schöne Günther,
11. Jun 2020
PS: Es gibt keine Probleme wenn ich an MapAndLoad nicht mehr die PAnsiChar(asAnsi), sondern stattdessen eine zusätzlich eingeführte PAnsiChar-Variable die auf @asAnsi zeigt, übergebe. Übergebe ich @asAnsi direkt statt eine zusätzliche lokale Variable einzuführen bleibt es beim Crash.
Heißt: Folgendes läuft ganz harmlos durch, wie früher:
class function TLinkerTimeStamp.GetTimeUTC(const...