Delphi-PRAXiS
Seite 14 von 26   « Erste     4121314 151624     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 10.1 Berlin (https://www.delphipraxis.net/188909-delphi-10-1-berlin.html)

DeddyH 20. Apr 2016 16:13

AW: Delphi 10.1 Berlin
 
Ist zwar toll, aber sooo oft installiert man ja in der Regel nicht, dass das jetzt das Killer-Feature wäre, auf dem man ständig herumreiten muss ;)

Bambini 20. Apr 2016 16:21

AW: Delphi 10.1 Berlin
 
Beim Delphi DCC32 und DCC64 Compiler ist in Delphi Berlin ist jetzt WEAKREF gesetzt.
Delphi-Quellcode:
  {$IFDEF WEAKREF}
  Hier steht Murks.
  {$ENDIF}
Endgegen der Docu: http://docwiki.embarcadero.com/RADSt...lation_(Delphi)
Gibt es dafür einen Grund bzw. hat ARC in den Windows Compiler schon Einzug gehalten?

MEissing 20. Apr 2016 16:30

AW: Delphi 10.1 Berlin
 
Standard-mäßig ist Weak-Ref nicht eingeschaltet..... Wie kommst du drauf? In der Doku steht es korrekt

ARC ist bei Win32/64 noch nicht verfügbar.

Bambini 20. Apr 2016 16:31

AW: Delphi 10.1 Berlin
 
Zitat:

Zitat von MEissing (Beitrag 1336122)
Standard-mäßig ist Weak-Ref nicht eingeschaltet..... Wie kommst du drauf? In der Doku steht es korrekt

Aber leider ist die Bedingung WEAKREF - entgegen der Docu - bei Win32 und Win64 immer gesetzt.

Sir Rufo 20. Apr 2016 16:45

AW: Delphi 10.1 Berlin
 
Aber muss die nicht auch gesetzt sein, denn ab 10.1 Berlin wird doch
Delphi-Quellcode:
[weak]
für Interfaces unterstützt.

Somit würde ich erwarten, dann WEAKREF und WEAKINTFREF auch unter Windows definiert sind. WEAKINSTREF allerdings nicht.

Und genau so isses auch, wie mein Super-Hyper-Wuppdi-Testprogramm zeigt
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.SysUtils;

begin
  {$IFDEF WEAKREF}
  WriteLn( 'WEAKREF' );
  {$ENDIF}
  {$IFDEF WEAKINSTREF}
  WriteLn( 'WEAKINSTREF' );
  {$ENDIF}
  {$IFDEF WEAKINTFREF}
  WriteLn( 'WEAKINTFREF' );
  {$ENDIF}
  ReadLn;
end.
Fazit: Die Dokumentation ist falsch!

Bambini 20. Apr 2016 16:50

AW: Delphi 10.1 Berlin
 
Kleiner Nachtrag: Unter Win32 und win64 ist auch WEAKINTFREF - entgegen der Docu - gesetzt. Bei WEAKINSTREF passt es.
Das ist etwas schade, da man globale gesetzte DEFINE's nicht global UNDEF'en kann.

Sir Rufo 20. Apr 2016 16:54

AW: Delphi 10.1 Berlin
 
Zitat:

Zitat von Bambini (Beitrag 1336126)
Kleiner Nachtrag: Unter Win32 und win64 ist auch WEAKINTFREF - entgegen der Docu - gesetzt. Bei WEAKINSTREF passt es.
Das ist etwas schade, da man globale gesetzte DEFINE's nicht global UNDEF'en kann.

Die müssen auch gesetzt sein, denn Delphi unterstützt nun auf jeder Plattform die Attribute unsafe, volatile und weak (weak für Interfaces).

siehe dazu http://docwiki.embarcadero.com/RADSt...terst.C3.BCtzt

MEissing 20. Apr 2016 16:57

AW: Delphi 10.1 Berlin
 
Oder am Beispiel der Compiler Direktive WEAKREF:

Code:
Defined for compilers that can use weak references (the [weak] attribute).
*New* in XE4/iOS

FOR COMPILERS....

Sir Rufo 20. Apr 2016 17:09

AW: Delphi 10.1 Berlin
 
Zitat:

Zitat von MEissing (Beitrag 1336128)
Oder am Beispiel der Compiler Direktive WEAKREF:

Code:
Defined for compilers that can use weak references (the [weak] attribute).
*New* in XE4/iOS

FOR COMPILERS....

Was soll uns das jetzt sagen?

Fakt ist, dass unter Win32/Win64 für Interfaces das weak Attribut genutzt werden kann und es auch funktioniert. Also ist es doch nur konsequent, wenn dann auch die Compiler-Direktiven analog zur Funktion gesetzt sind.

Oder kriege ich hier jetzt nichts mehr mit?

MEissing 20. Apr 2016 17:13

AW: Delphi 10.1 Berlin
 
Die Direktive ist (immer) gesetzt, wenn der Compiler das generell unterstützen kann....


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:39 Uhr.
Seite 14 von 26   « Erste     4121314 151624     Letzte »    

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