Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
18. Nov 2003
Hallo OLLI,
ich gehe davon aus, dass Deine Implementierung nur Beispielhaft ist (es handelt sich um eine Prozedur, das Ändern von EAX bleibt daher ohne Effekt).
Eine Default-Implementierung ist mit Sicherheit eine gute Sache, ich persönlich würde sie aber wiederum als Delphi-Methode implementieren und diese stattdessen absolut anspringen. Sofern Du nicht das letzte an Performance...
Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
18. Nov 2003
Danke für Deine Ausführung Hagen, klar und schlüssig.
@OLLI: Da FProc identisch zur Methode Calc deklariert ist, ist in der dortigen Implementierung alles notwendige zum "Aufräumen" des Stacks und zum "Rückspringen" vorhanden (sofern FProc<>nil). Wolltest Du einen Call ausführen und wäre die Deklaration etwas komplexer, so dass nicht ausschließlich Register für die Überhabe verwendet werden...
Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
18. Nov 2003
Interessant, Hagen.
JMP TMethod(.FProc).Code
funktioniert unter D7 tatsächlich nicht,
JMP TMethod().Code
hingegen schon :gruebel:
Ich konnte leider nichts zu "struktur qualifier", "struktur qualifizierer", "structure qualifier", etc. in unserem Kontext finden. Könntest Du auf eine Quelle verweisen oder das Prinzip, dass Du entdeckt hast, näher darstellen?
Vielen Dank!
Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
18. Nov 2003
Hallo Hagen,
beide Varianten werden sowohl in D5 (Anforderung) als auch in D7 (Deine Aussage) zu idetischem Code übersetzt.
Obwohl ich den Cast in der Form AType(AVar) aus Konsistentzgründen mit der übrigen Delphi Language als angenehmer finde und die Variante AVar.AType zu Doppeldeutigkeiten führen kann, sofern man sich nicht an Nameskonventionen hält, wird die von Dir dargestellte Variante...
Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
17. Nov 2003
Hallo OLLI
Nein, in den Klassen sind keine Methoden deklariert sondern dienen lediglich der Veranschaulichung des Problems mit den Attribute. Ich habe den Code zusammenhangslos verwendet.
Leider habe ich meinen Betrag etwas zu flüchtig abgegeben, er wird zwar kompiliert, allerdings zu Code, wie man ihn warhscheinlich nicht erwartet.
Wenn ich Dich richtig Verstanden habe, möchtest Du...
Forum: Object-Pascal / Delphi-Language
Delphi
by choose,
17. Nov 2003
Hallo OLLI,
probier diesen Cast:
type
TMyClass = class
FAttribute : Integer;
end;
TAnotherClass = class