AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

DynArray beschädigt

Ein Thema von Neutral General · begonnen am 17. Feb 2007 · letzter Beitrag vom 17. Feb 2007
 
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: DynArray beschädigt

  Alt 17. Feb 2007, 12:28
Du hast anscheinend eine falsche Herangehensweise an Inline-Assembler (IASM).

IASM ist manchmal eine echt praktische Sache, aber man sollte es nicht übertreiben. Du musst dich ja quasi implizit mit dem Compiler von Delphi verständigen. In diesem Fall, z.B. wie der Compiler mit dyn. Arrays umgeht. Das kann man sicher alles machen, ist aber überhaupt nicht sinnvoll und führt häufig zu Problemen. Gerade Speicherbereiche reservieren und "löschen" solltest du schon dem Delphi Memory Manager überlassen. Viele Köche verderben den Brei. Wenn du alles in die Hand nehmen willst, dann solltest du kein Delphi mehr benutzen sondern z.B. MASM32, also einen "echten" Assembler. Manchmal kannst du auch gar nicht vorhersehen, was die Code-Optimierung macht.
-->Fazit: Gewöhn dir bei IASM an, niemals (oder möglichst nie) Speicher zu reservieren. Falls du für dein Ergebniss aus der Assembler-Routine Speicher benötigst, dann lass ihn in der aufrufenden Routine reservieren und dann als PChar, oder PInteger, also als Pointer übergeben. Und dann kannst du in deiner Assemblerroutine mit "mov dword ptr [PInteger+4*x], irgendetwas" da reinschreiben.
Soweit klar? Also am besten immer nur 32bit-Werte übergeben.

roterKasten: Ich poste erstmal und les mir die beiden Beiträge gleich durch
Edit: Oh, es waren ja schon zwei Beiträge und ein veränderter. aber meiner hat noch volle gültigkeit.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:45 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