AGB  ·  Datenschutz  ·  Impressum  







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

Fluent Design und Records

Ein Thema von hschmid67 · begonnen am 23. Aug 2019 · letzter Beitrag vom 26. Aug 2019
 
hschmid67

Registriert seit: 2. Jul 2012
Ort: Weilheim i. Obb.
75 Beiträge
 
Delphi 12 Athens
 
#9

AW: Fluent Design und Records

  Alt 24. Aug 2019, 14:36
Hallo Zusammen,

jetzt habe ich den Vorschlag von uligerhardt mal ausprobiert, aber irgendwas scheine ich nicht richtig zu verstehen. Könnt Ihr mir nochmal weiterhelfen?

Also, ich hab mal folgende Unit gemacht:

Delphi-Quellcode:
unit hs.str2;

interface

type
  ThsStr2 = record
    FStr: string;
    function AsString: string;
    function Init(const mString: string): ThsStr2;
  end;

implementation

uses
  System.SysUtils;

{ ThsStr2 }

function ThsStr2.AsString: string;
begin
  Result := FStr;
end;

function ThsStr2.Init(const mString: string): ThsStr2;
begin
  FStr := mString;
// Result := @Self; // so war der Vorschlag, aber das kompiliert gar nicht "Pointer und ThsStr2"
  Result := ThsStr2(@Self); // so kompiliert es, aber wirft eine AV bei der Ausführung
end;

end.
Testen wollte ich das Ganze so:

Delphi-Quellcode:
procedure Test;
var
  lStr: ThsStr2;
  lDummy: string;
begin
  lDummy := lStr.Init('dummy').AsString;
end;
Aber eben beim Init bekomme ich eine AV. Was mache ich falsch - oder wo ist mein Denkfehler?

Viele Grüße
Harald
Harald Schmid
  Mit Zitat antworten Zitat
 


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 14:39 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