Kann man eine strukturierte Liste mit einer anderen vergleichen, und zwar elementweise, ohne jede Eigenschaft (/jedes Objekt) der einen mit der anderen vergleichen zu müssen?
CompareMemory funktioniert aber nicht korrekt, wenn Listen, dynamische Arrays, Maps odet dynamische Strings in der Struktur enthalten sind. Da muss man dann händisch ran.
Wie schon gesagt wurde, Strings sind dynamische Variablen. In der Struktur wird bei den Strings nur die Adresse gespeichert, wo die Daten im Arbeitsspeicher abgelegt wurden. Diese Adressen sind natürlich unterschiedlich, da ja die Strings auch an unterschiedlichen Stellen im Speicher liegen.
es_91 hat geschrieben:Also führt kein Weg an einem objektweisen Vergleich vorbei?
Richtig.
Also optinale Möglichkeit gibt es ja immer noch statische Arrays und fix-Strings, die du benutzen kannst, dann kannst du auch compare memory nutzen, ansonsten muss du wirklich jedes einzelne dynamische Objekt einzeln vergleichen.
Im Übrigen macht deine CompareLists-Procedure bisher auch nichts anderes als CompareMemory. Und wahrscheinlich wäre CompareMemory auch noch schneller als deine Version, weil da nicht herum gepeeked wird.