AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Brennende Hinweise (FMX-Hints - THintManager 1.3)
Thema durchsuchen
Ansicht
Themen-Optionen

Brennende Hinweise (FMX-Hints - THintManager 1.3)

Ein Thema von himitsu · begonnen am 9. Aug 2012 · letzter Beitrag vom 12. Dez 2013
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu
Registriert seit: 11. Okt 2003
Nja, ich hatte da mal ein bissl mit dem Affen rumgespielt und rausgekommen sind Hints für den FireMonkey.

Die funktionieren zwar noch nicht überall, z.B. nicht bei einem Label,
aber für sowas wie TButton und TEdit läuft es schonmal.


Hinweis: Der Hint liegt in der Form und schwebt nicht darüber.



Ich hab aber noch eine Frage, und zwar hat mein HintManager im FormDesigner ein Top und Left, aber ich komm nicht an diese Werte ran,
denn der THintManager und seine Vorfahren haben scheinbar keine Positionsangaben.
Wie kann ich denn im THintManagerLink (TDefaultEditor) auf die Position des HintManagers zugreifen?
Problem ist die Vorschaufunktion ExecuteVerb(0), welche an dem HintManager aufgehn soll, aber zu wissen wo der ist.....


Dann weiß ich noch nicht, wie ich Delphi dazu bringe meine Image-Property zu speichern
und ein paar Ausrichtungsproblemchen gibt es mit den Bildern auch noch, wie ich heut früh bemerkte, aber da die eh noch nicht in der DFM gespeichert werden...





Ach ja, RuntimePackage kompilieren, DesignPackage installieren, THintManager auf 'ne Form pappen, über das Add-Property 'nen Hint zu einer Komponente hinzufügen (Ich sollte das THintItem wohl auch noch als Komponente registrieren), dann zur Komponente Wechseln, dort in der Struktur den Hint auswählen, und dessen Werte füllen (kann man bestimmt auch noch teilweise automatisieren).




So, und falls Emba es doch irgendwann schafft Hints einzubauen, isses och nicht so Schlimm, denn das Ganze ist mehr ein Übungsprojekt, in Punkt Komponentendesign,
vorallem in Bezug auf die Speicherverwaltung der Komponenten und die OpenToolsAPI.
Alle Referenzen der beteiligten Komponenten, also des Managers, der Items und der verknüpften Komponenten, sollten gegeneinander abgesichtert sein und sich selbst aufräumen, wenn eine Komponente freigegeben wird (hoff ich mal).
Falls diesbezüglich noch jemand was erkennt oder zu sagen hat, kann er/sie sich gern melden.

Kreuzreferenzen sind halt immer ein etwas heikles Thema


http://cc.embarcadero.com/item/28965 http://qc.embarcadero.com/wc/qcmain.aspx?d=106368 http://qc.embarcadero.com/wc/qcmain.aspx?d=104857
Miniaturansicht angehängter Grafiken
unbenannt.png   unbenannt2.png   _unbenannt3.jpg  
Angehängte Dateien
Dateityp: 7z Project9.7z (1,20 MB, 66x aufgerufen)
Dateityp: 7z HintManager.7z (93,8 KB, 72x aufgerufen)
$2B or not $2B

Geändert von himitsu (24. Okt 2012 um 14:50 Uhr)
 
Benutzerbild von Stevie
Stevie

 
Delphi 10.1 Berlin Enterprise
 
#11
  Alt 27. Sep 2012, 22:11
In den Projektoptionen unter Output C/C++ "Generate DCUs only" einstellen.
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#12
  Alt 28. Sep 2012, 00:20
In den Projektoptionen unter Output C/C++ "Generate DCUs only" einstellen.
Danke.

Ups, wo kommt denn urplötzlich diese Frage her?
Ausrede: Hatte Urlaub und hab nix gesehn.



Zitat:
It is not working in C++ builder (XE2 update 4).

The generated header file FMX.HintManager.hpp does not compile, it give the error "simple file name expected" on THintEvent
Hmmmm, der C++Builder kommt wohl nicht mit gepunkteten Dateinamen zurecht?

Wo es aber sowieso eine "Warnung" wegen der Klassenmethoden gibt, ist das Ganze dann, so wie es jetzt ist, eh nicht für C++ geeignet?

Geändert von himitsu (28. Sep 2012 um 00:39 Uhr)
  Mit Zitat antworten Zitat
greenmile

 
Delphi 10.3 Rio
 
#13
  Alt 9. Okt 2012, 12:55
Gibt es inzwischen eine XE3 Version? Bei mir kommen zahlreiche Fehler auch wenn ich "Generate DCU only" aktiviere.

PS: Man, EMBA, so langsam zweifel ich ja an Euch. Wie kann man Hint's vergessen/nicht implementieren?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#14
  Alt 9. Okt 2012, 13:18
Kann ja mal die nächsten paar Tage versuchen nachzusehn was wie so los ist.

Der Grund dürfte sein, daß die ganz schön viel am FMX verändet haben (darum nennt sich das ja auch FMX 2.0 und nicht FMX-Bugfix 1.1 ... Nja, neuer Anfang, neue Fehler)


Nja, die Property Hint und ShowHint existieren inzwischen schon. Zwar auskommentiert, aber der ganze Code dahinter fehlt halt noch irgendwie.
  Mit Zitat antworten Zitat
greenmile

 
Delphi 10.3 Rio
 
#15
  Alt 10. Okt 2012, 13:16
Wie so manches fehlt ... Aber soll ja Stück für Stück kommen. Wie bei XE2

Habe gerade gemerkt (natürlich NACH Release-Abgabe!), dass die Anchors auch nicht einwandfrei klappen. Ein TProgress hat plötzlich eine Breite von 1824, obwohl sie in einem Panel von 380 Pixeln angeklebt sind; hatte auch irgendwann mal ne korrekte Breite. Die Breite kann ich nicht ändern, muss erst "Anchors" rausnehmen. Das ist doch ne Grütze, echt. Wenn ich mich darauf nicht verlassen kann, dann kann ich ein weiteres Feature nicht nutzen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#16
  Alt 24. Okt 2012, 01:36
Waren am Ende nur ein paar kleinere Umbauten.

Ein erster Test meint zumindestens, daß es jetzt auch im XE3 / FMX2 funktioniert.
  Mit Zitat antworten Zitat
greenmile

 
Delphi 10.3 Rio
 
#17
  Alt 24. Okt 2012, 10:55
Mit Mac?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#18
  Alt 24. Okt 2012, 14:51
Da ich keinen Mac besitze .... k.A.

Was ich allerdings aussagen kann, daß sich in XE3, natürlich bis auf das Design-Time-Package, alle Projekte mit Win32, Win64 und OSX kompilieren lassen.
(für OSX muß nur die Unit Winapi.Windows aus dem Demoprojekt entfernt werden)



Aber was ich noch weiß, daß der C++Builder nicht mit Dotted-FileNames umgehn kann, drum müßte man dort mindestens die Punkte aus den Dateinamen entfernen ... aber ob es danach dann geht ... k.A. (hab noch keine Rückantwort erhalten)

Geändert von himitsu (24. Okt 2012 um 15:53 Uhr)
  Mit Zitat antworten Zitat
niao

 
Delphi XE4 Professional
 
#19
  Alt 26. Dez 2012, 14:08
Hallo,

ich habe mir das ganze mal angeschaut und bin nicht wirklich begeistert.
Warum läuft das ganze nicht unter 64 Bit und ich bekomme es auch nicht hin die Schriftfarbe des Hints anzupassen.

Für deine Antwort bin ich im Voraus dankbar!

Gruß Niao
Eduard
  Mit Zitat antworten Zitat
Goaul
 
#20
  Alt 12. Dez 2013, 17:01
When compiled with XE5(same with XE4) there are several compile errors:
Code:
    Checking project dependencies...
    Compiling Package.HintManager.dproj (Debug, Win32)
    [dcc32 Error] FMX.HintManager.pas(312): E2037 Declaration of 'ApplyTriggerEffect' differs from previous declaration
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.GetIsFocused
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.GetEnabled
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.GetAbsoluteEnabled
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.GetPopupMenu
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.EnterChildren
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.ExitChildren
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.DoActivate
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.DoDeactivate
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.MouseClick
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.GetInheritedCursor
    [dcc32 Error] FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.SetAcceptsControls
    [dcc32 Error] FMX.HintManager.pas(1167): E2075 This form of method call only allowed in methods of derived types
    [dcc32 Error] FMX.HintManager.pas(1168): E2003 Undeclared identifier: 'Parent'
    [dcc32 Error] FMX.HintManager.pas(1168): E2003 Undeclared identifier: 'FManager'
    [dcc32 Error] FMX.HintManager.pas(1168): E2008 Incompatible types
    [dcc32 Error] FMX.HintManager.pas(1169): E2003 Undeclared identifier: 'FHintVisible'
    [dcc32 Error] FMX.HintManager.pas(1169): E2015 Operator not applicable to this operand type
    [dcc32 Error] FMX.HintManager.pas(1170): E2066 Missing operator or semicolon
    [dcc32 Error] FMX.HintManager.pas(1172): E2066 Missing operator or semicolon
    [dcc32 Error] FMX.HintManager.pas(312): E2065 Unsatisfied forward or external declaration: 'THintItem.ApplyTriggerEffect'
    [dcc32 Fatal Error] Package.HintManager.dpk(36): F2063 Could not compile used unit 'Fmx.HintManager.pas'
    Failed
    Elapsed time: 00:00:02.6
If needed, I could arrange TeamViewer session.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:03 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