AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Result Handling Frage

Ein Thema von DerKapitalist · begonnen am 29. Dez 2002 · letzter Beitrag vom 1. Jan 2003
Antwort Antwort
DerKapitalist

Registriert seit: 25. Dez 2002
37 Beiträge
 
#1

Result Handling Frage

  Alt 29. Dez 2002, 22:58
For a string, dynamic array, method pointer, variant, or Int64 result, the effects are the same as if the function result were declared as an additional var parameter following the declared parameters. In other words, the caller passes an additional 32-bit pointer that points to a variable in which to return the function result.

das ist aus der Delphi6 Hilfe. Mich würde jetzt interessieren, woher der Pointer kommt, den Delphi verwendet um die dynamischen Daten zu speichern. Ist das die gleiche Adresse, wie die meiner Empfängervariable(x := f(y)? Kann ich dann davon ausgehen, dass wenn ich die Resultvariable verwende ich bei diesen Typen direkt in mein "x" schreibe oder geht das nochmal einen umweg!?

Bin halt neugierig
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#2
  Alt 31. Dez 2002, 11:16
Unter welchem Punkt hast du denn den Hilfetext bekommen?

Grüße Minz
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3
  Alt 1. Jan 2003, 13:24
Hallo DerKapitalist,

ich verstehe die Hilfe so, dass folgende Deklarationen intern gleich verarneitet werden:

Delphi-Quellcode:
function Compute(a, b: String): Int64;

procedure Compute(a, b: String; Var myResult: Int64);

{ Aufruf }
theResult : Int64;

{...}
theResult := Compute('Hallo', 'Welt');

Compute('Hallo', 'Welt', theResult);

In beiden Fällen steht in theResult das Ergebnis.

Ich hoffe das ist das, was du wissen wolltest.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 1. Jan 2003, 15:29
Moin Kapitalist,

der Platz für eine Result Variable, wenn es sich um einen Pointer handelt, wird beim Funktionsaufruf intern automatisch deklariert, aber nicht (!) initialisiert.
Demzufolge ist es nicht die Adresse Deiner Variablen.

Wäre auch fatal, denn Du kannst ja innerhalb der Funktion mit Result anstellen, was auch immer Du willst, und wenn sich das auf Deine Variable auswirken würde wäre das ja ausgesprochen unerfreulich
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 09:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz