AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Inline Assembler und überladene Prozeduren?
Thema durchsuchen
Ansicht
Themen-Optionen

Inline Assembler und überladene Prozeduren?

Ein Thema von himitsu · begonnen am 21. Feb 2005 · letzter Beitrag vom 9. Aug 2005
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.401 Beiträge
 
Delphi 12 Athens
 
#1

Re: Inline Assembler und überladene Prozeduren?

  Alt 6. Aug 2005, 19:23
Zitat:
Schade. Hast Du eine verlässliche Quelle für diese Aussage, oder ist das die Essenz aus Deinen Bemühungen?
Ist nicht nur meine Meinung ... an anderen Stellen wurde mir mittler Weile "bestätigt", daß der Delphi-Compiler in der ASM-Umgebung nichts zur Verfüguns stellt, womit man sagen kann, ob nun die 1., oder z.B. die 3. Implementierung einer überladenen Funktion/Prozedur verwenden soll.
Es gibt allerdings andere Sprachen, wo man derartiges angeben kann.

Irgendwo im DF existiert z.B. einer dieser Beiträge wo mir gesagt wurde, daß Borland's Delphi nicht damit klar kommt.



Das mit dem "Alias" bei der External-Deklaration für DLL's wußte ich auch schon, aber dieses funktioniert halt nur dann, wenn man die entsprechende Funktion z.B. in eine DLL auslagert und beim einbinden nicht wieder überlagert.

Innerhalb eines Programms kommt man halt nicht weit damit.

Dazu kommt dann noch, daß ich zwar unter Umständen einige Funktionen in eine DLL auslagere, und die überladenen Funktionen natürlich über andere Namen exportiere, aber dann wieder mit dem originalen Namen improtiere.



Im Endeffekt bleiben dann leider nur die 2 übrigen Möglichkeiten übrig:
* entweder man verzichtet auf das Überladen,
aber ofmals läßt es sich halt nicht vermeiden.
* oder man besorgt sich per Pascal den gewünschten Prozedur-Pointer,
speichert diesen in einer Konstante/Variable
und springt dann diese Prozedur/Funktion über den gepeicherten wert an.

wobei letzteres auch nicht immer funktioniert ... vorallem bei bestimmten Funktionen/Prozeduren und dann auch noch bei Methoden...





Und das Problemchen mit den [ ] ist mir auch schon schmerzlich aufgefallen, allerdings bei Variablen.

In meinem Fall wollte ich
MOV EAX, &Variable
haben, aber delphi machte wegen der Variable automatisch die Klammer drum
MOV EAX, [&Variable]
was dann 'nen netten Fehler verursachte, der mich dann 'ne ganze Weile verrückt gemacht hatte,
bis ich dann durch Zufall im IM CPU-Fenster darüber gestolpert bin
Es ist schon komisch, wie Delphi immer wieder versucht intelligent zu sein
und dann selbstständing vieles verändert.

Mit einigen "gut gemeinten" Optimierungen hab ich auch manchmal zu kämpfen, vorallem mit denen, welche sich nicht abschalten lassen -.-''





Zitat:
Wenn der Compiler typisierte Konstanten nicht wie globale Variable behandeln würde...
das ist ja auch noch sowas gemeines (manchmal)
aber ich hab mittler Weile wenigstens einen Weg gefunden, wie man unter Umständen dennoch eine untypisierte Konstante erstellen kann, die dennoch in einem gewissen Maße typisiert ist ^^
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:22 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