Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi XE3 und Ribbon (Bilsen Lösung) (https://www.delphipraxis.net/170724-delphi-xe3-und-ribbon-bilsen-loesung.html)

FrankJ28 30. Sep 2012 18:33

Delphi XE3 und Ribbon (Bilsen Lösung)
 
Hallo Wissende,
ich habe mir die XE3 testhalber installiert und versuche nun die Migration von XE-Projekten. Ich nutze als Ribbon-Lösung die Bilsen Variante und bin damit auch zufrieden. Die Migration schlägt nun leider fehl, da in den Quellen die Definition FAction fehlt. Wo ist das gute Stück denn unter XE3 verpackt, bzw. heißt FAction wohlmöglich anders?
BeispielCode:
Delphi-Quellcode:
uses Classes, {ist in XE hier definiert}
     ActnList;
....
if Assigned(FAction)
   then FAction.Execute;
Danke für die Hilfe.

Ciao
Frank

Union 30. Sep 2012 20:13

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Hier steht beschrieben, was Du beachten bzw. ändern musst http://docwiki.embarcadero.com/RADSt...%2BBuilder_XE3
Zitat:

Zitat von XE3-Hilfe
Wichtig: Jede FireMonkey- oder VCL-Anwendung, die Aktionen verwendet, muss die Units System.Actions und System.Classes im uses-Abschnitt (bzw. in den #include-Anweisungen für C++) enthalten


FrankJ28 30. Sep 2012 21:08

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Hallo,
jo, FAction war (wie geschrieben) schon unter XE in der Unit classes definiert. Hinzufügen von actions bringt nichts Neues. Klappt leider nicht. Noch jemand eine Idee?
Danke und ciao
Frank

Uwe Raabe 30. Sep 2012 22:35

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
In XE3 ist das Feld FAction im TBasicActionLink nicht mehr protected, sondern private. Daher ist dieser Zugriff nicht mehr erlaubt. Du könntest dafür allerdings einfach auf das property Action zugreifen.

FrankJ28 1. Okt 2012 06:40

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Hallo Uwe,
danke dafür. Gibt es einen Grund für diese Änderung? Probleme habe ich auch noch im Bereich SysUtils. Dort war früher (XE ist ja auch schon so alt) und laut Doku auch noch in XE3 folgendes definiert:
- decimalseparator
- dateseparator
- currencystring
- short/longmonthnames
- longdayname
Eine Idee? Die Doku sagt zumindest SysUtils.
Haben wir das alles dem "Feueraffen" zu verdanken?
Danke und ciao
Frank

daywalker9 1. Okt 2012 06:44

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Diese Variablen waren seit Jahren deprecated - EMBT hat diese nun entfernt. Als Ersatz gibt es z.B.: FormatSettings.DecimalSeperator

FrankJ28 1. Okt 2012 07:48

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Danke Lars, das hat geholfen.
Ciao
Frank

himitsu 1. Okt 2012 08:21

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Wobei XE, wie schon erwähnt, daß auch schon lange bemängelt hatte und das sogar mit genauer Beschreibung, so ala
Zitat:

[DCC Warnung] Unit1.pas(27): W1000 Symbol 'DateSeparator' ist veraltet: 'Use FormatSettings.DateSeparator'

Tipp: Hör mal drauf, was dir der Compiler so zu sagen hat.
Das Erleichert das Leben ungemein.


Und zu FAction:
Das kommt davon, wenn man interne Felder nutzt, anstatt der vorhandenen öffentlichen Property.
Emba hat die Sichtbarkeit zurecht verschoben, denn beim Schreibzugriff hättest du einfach den Setter übergangen.

daywalker9 1. Okt 2012 08:25

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Und es gibt ja auch noch Whats New in XE3

FrankJ28 1. Okt 2012 09:06

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Hallo,
@Himitsu
Zitat:

Tipp: Hör mal drauf, was dir der Compiler so zu sagen hat.
Das Erleichert das Leben ungemein.
Ja, gerne. Der Compiler (XE3) sagt gibt es nicht. Daher hier meine Anfrage, wo denn suchen. Jo, XE meldet "nutze bitte neu"

Zitat:

Und zu FAction:
Das kommt davon, wenn man interne Felder nutzt, anstatt der vorhandenen öffentlichen Property.
Emba hat die Sichtbarkeit zurecht verschoben, denn beim Schreibzugriff hättest du einfach den Setter übergangen.

Hast Recht, mal an Bilsen weiterreichen, ist auch nicht mein Stil

@Lars
Zitat:

Und es gibt ja auch noch Whats New in XE3
Jupp, danke, wer lesen kann .... :-)
Ciao
Frank

himitsu 1. Okt 2012 09:55

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Natürlich sagt XE3 nix mehr, denn dort ist es ja weg und das kennt es wirklich nicht mehr.
XE und viele Andere sagten "nutze das Neue, denn dieses ist veraltet und kommt bald weg" und hätte man darauf gehört, dann gäbe es in XE3 keine Probleme. :zwinker:
(wobei hier Bilsen natürlich auch ein bissl schuldig ist, aber man muß j nicht alles so verwenden, wie man es bekommt)

FrankJ28 1. Okt 2012 10:04

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Hi,
hast ja natürlich Recht.
Zitat:

XE und viele Andere sagten "nutze das Neue, denn dieses ist veraltet und kommt bald weg" und hätte man darauf gehört, dann gäbe es in XE3 keine Probleme.
Nur der Mensch sitzt das ja gerne aus, "bald weg" ist ja dehnbar :-). Nun hat es mich halt erwischt.

Zitat:

(wobei hier Bilsen natürlich auch ein bissl schuldig ist, aber man muß j nicht alles so verwenden, wie man es bekommt)
Hat halt funktioniert und erst wenn's knackt schaut man mal nach.
Danke für die Unterstützung.
Ciao
Frank

messie 1. Okt 2012 10:08

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Zitat:

Zitat von himitsu (Beitrag 1185211)
Natürlich sagt XE3 nix mehr, denn dort ist es ja weg und das kennt es wirklich nicht mehr.

Hm, trotzdem nicht optimal. Es gibt viele Codebeispiele, bei denen die heute veralteten Zugriffe benutzt werden.
Ein Einstieg ins Delphi ist damit holperig, da die alten Codebeispiele einfach nicht mehr funktionieren. Die Compilerwarnung beizubehalten wäre sicher benutzerfreundlicher.

Grüße, Messie

FrankJ28 1. Okt 2012 10:19

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Hi,
mich hat da zunächst die Online-Hilfe verunsichert. Denn die kennt die alten Aufrufe noch. Auf die von Lars gepostete Idee (what's new) kam ich daher gar nicht.:oops:
Ciao
Frank

himitsu 1. Okt 2012 10:45

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Der Hilfe darfst du eh nix glauben. :roll:
Man hat ja nicht umsonst die RTL/VCL-Quellcodes ... damit man nachgucken kann, wie es wirklich ist.

Zitat:

Zitat von messie (Beitrag 1185215)
Die Compilerwarnung beizubehalten wäre sicher benutzerfreundlicher.

Das würde aber bedeuten, daß man bis in alle Ewigkeit alte/doppelte Codes mit sich rumschleppen muß.

Gut, Delphi ist (war mal) zwar stolz drauf, daß es extrem abwärtskompatibel ist, aber viele jahrelang warnen und dann doch endlich mal wegwerfen ist doch kein shclechter Anfang?
Es müßten "nur" mal die alten Beispiele angepaßt werden. (Zeit war ja genug)

Hmmm, aber eventuell könnte man Embarcadero dazu bringen, daß man reinen Warn-/Fehlercode erzeugen kann?
z.B. irgendwas in der Art
Delphi-Quellcode:
{$OLDCODE VARIABLE DateSeparator 'Use FormatSettings.DateSeparator'}
oder
Delphi-Quellcode:
{$OLDCODE PROPERTY irgendwas 'gibt''s nimmer'}
und wenn der Compiler dann eine Variable findet, die so heißt, dann gibt es einen Compilerfehler, aber ohne daß man doppelten Code braucht.

messie 1. Okt 2012 10:56

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Wenn Emba davon profitieren will, dass es unendlich viel freien Code gibt der den Einstieg erleichert, sollten sie das pflegen. Ob in der Hilfe oder als Compilermeldung.
Sonst kann man ja gleich zu MS wechseln. Dort lernt man dann Microsoft-Sprech, bekommt alle Funktionen auf schönen Seminaren in Microsoft-Sprech gezeigt und ist rund um die Uhr von denen betreut. Man muss zwar aus seiner normalen Welt in die MS-Matrix wechseln aber die kommen bestimmt auch noch zur Beerdigung :-D

Wenn Emba das nachbauen will brauchen sie einen langen Atem.

Grüße, Messie

Edit: National Instruments (LabView) saugt die Leute auch in ihre Matrix und lässt sie nie wieder raus. Es sein denn, sie haben alles Geld aus ihnen gelutscht.

FrankJ28 1. Okt 2012 10:59

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Hallo Himitsu,
Zitat:

Man hat ja nicht umsonst die RTL/VCL-Quellcodes ... damit man nachgucken kann, wie es wirklich ist.
völlig korrekt, nur evaluiere ich derzeit noch den Nutzen von XE3 und habe daher keine Quellen zur Verfügung. Dann wären meine Fragen aus dem ersten Post natürlich überflüssig gewesen :-)
Ciao
Frank

himitsu 1. Okt 2012 11:14

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Erst kaufen und dann testen? :stupid:

Na gut, ohne is man voll am Arsch. (ich liebe die Starter)

FrankJ28 1. Okt 2012 12:12

AW: Delphi XE3 und Ribbon (Bilsen Lösung)
 
Zitat:

Erst kaufen und dann testen?
Ich sag nur Delphi 8 :roll:
Ciao
Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 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