Einen AnsiString (selbst mit ShareMem) zwischen
DLL und EXE übergreifend zu nutzen ... aber 'ne PreD2009-
DLL/EXE wird nicht mit etwas ab D2009 kompatibel sein.
Na dann viel Spaß, wenn du die die ElemSizeoder die CodePage da auslesen willst. Schützt du das ganze dann mit try/except und verifizierst, dass die Daten auch gültig sind? Denn Delphi 2-2007 Strings haben keine CodePage und ElemSize, also ist der StrRec auch nur 8 Bytes groß. Bei Delphi 2009+ ist er 12 Byte groß. Wenn du nun auf einen Delphi 2-2007 AnsiString mit deiner CodePage und ElemSize Methode zugreifst, bekommst du entweder eine Zugriffsverletzung, oder liest aus einem fremden Speicherbereich (oder aus dem MemMgr Kontrollblock).