![]() |
AW: Übergabe von Interface an DLL führt zu AccessViolation
Zitat:
|
AW: Übergabe von Interface an DLL führt zu AccessViolation
Zitat:
Mit dem Assembly Code kann ich allerdings, leider muss ich sagen, nicht wirklich viel anfangen. Verstehe da nichts von. Würde es aber gerne. Nur sieht es für mich immer sehr kompliziert aus. :( |
AW: Übergabe von Interface an DLL führt zu AccessViolation
Wichtig ist eigentlich nur die letzte Zeile - da sieht man, dass intern die UStrFromPWChar Funktion aufgerufen wird, um den PChar in String zu konvertieren.
Code:
Unit1.pas.30: S := 'hallo';
005C9BA3 B8D89B5C00 mov eax,$005c9bd8 < EAX = S, wird mit Adresse von 'hallo' initialisiert 005C9BA8 8945F8 mov [ebp-$08],eax < S wird auf dem Stack gesichert Unit1.pas.31: T := String(S); 005C9BAB 8D45F4 lea eax,[ebp-$0c] < Adresse von T wird in EAX geschrieben 005C9BAE 8B55F8 mov edx,[ebp-$08] < S wird vom Stack geholt und in EDX geschrieben 005C9BB1 E8EE0AE4FF call @UStrFromPWChar < Aufruf der Funktion mit EAX und EDX als Parameter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 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-2025 by Thomas Breitkreuz