![]() |
Datenbank: SQLite • Version: 3 • Zugriff über: FireDAC
Ungewolltes "Enter your credentials" bei Datenbank-Login
Liste der Anhänge anzeigen (Anzahl: 1)
Das Thema klingt spektakulärer als es ist. Delphi XE5, FireDAC. Ich möchte einen Login-Dialog für eine Verbindung.
Das sieht so aus wie das Bild im Anhang. Ich finde nichts, wie ich den "Enter your credentials"-Text abändern kann. Wo muss ich suchen? PS: Mein TFDGUIxLoginDialog ist einfach nur folgender
Delphi-Quellcode:
object loginDialog: TFDGUIxLoginDialog
Provider = 'Forms' Caption = 'Anmeldung' HistoryWithPassword = False VisibleItems.Strings = ( 'Password=Hallo') ChangeExpiredPassword = False OnShow = loginDialogShow Left = 280 Top = 192 end |
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
In OnShow kannst Du auf die Eigenschaften des Dialogs zugreifen.
|
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Das ist mir klar, aber was soll ich denn da einstellen? Ich finde nichts, was diese "Nachricht" repräsentiert. Die Hilfe ist zwar ungewohnt ausführlich aber da finde ich auch nichts.
|
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Durch die Components / Controls des Dialogs iterieren und die Caption des Labels auf den von Dir gewünschten Text setzen.
|
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Gute Idee :thumb:
Aber
Delphi-Quellcode:
ist leider Null.
ComponentCount
|
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Zitat:
Dann steht der Text vermutlich in einem resourcestring und kann nur dort manipuliert werden, oder durch Hooken einer API Funktion (so wie es dxgettext macht um Texte zur Laufzeit zu übersetzen). |
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Ein ComponentCount von 0 besagt doch nur, dass der Dialog nicht als Owner der Komponenten angegeben wurde. Wie sieht es denn mit ControlCount aus (also die Parent-Beziehung)?
|
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Hat leider nur Komponenten, keine Controls.
Die Vererbungsreihenfolge ist sowieso...
Code:
Das Ding hat nur eine Property "Caption" (der Fenstertitel des Popups), aber sonst eigentlich nichts brauchbares.
TComponent -> TFDComponent -> TFDGUIxComponent -> TFDGUIxLoginDialog
Kann doch nicht sein, dass das sonst noch niemanden gestört hat? |
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Zitat:
|
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Zitat:
Zum Thema: Ich würde dir empfehlen einen eigenen LoginDialog zu entwerfen. Diesen kannst du dann ggf. im Design deiner Anwendung gestalten bzw. mit Icons aufhübschen. Damit bist du unabhängig, auch wenn mal das DBMS wechselt. :wink: |
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Hm, ich wüsste spontan nicht wie- Ich kann mir doch nicht selbst eine Zugangsverwaltung bauen?
Da wäre meine Frage eher "Wie baue ich mir einen eigenen Anmeldedialog für den Zugriff über FireDAC" - Dafür würde ich dann aber ein neues Thema aufmachen. |
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Es geht bestimmt auch einfacher und ohne memory leaks. Aber momentan fällt mir sonst nix ein als den Resourcestring zu patchen:
Delphi-Quellcode:
uses Windows, FireDAC.Stan.ResStrs;
procedure HookLogin; var dwOld : WORD; pRes : pResStringRec; begin pRes := pResStringRec(@S_FD_LoginCredentials); VirtualProtect(pRes, SizeOf(pRes^), PAGE_EXECUTE_READWRITE, @dwOld); pRes.Identifier := Integer(PChar('Und bist Du nicht willig')); VirtualProtect(pRes, SizeOf(pRes^), dwOld, @dwOld); end; |
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
:o Bist du ein Zauberer?
Ich habe keine Ahnung was da vor sich geht, aber es funktioniert. Vielen Dank! |
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Es wird einfach der von FD benutzte Resourcestring ausgetauscht. Was noch fehlt ist das Merken des neuen Pointers mit dem ausgetauschten Text, damit er in der finalization freigegeben werden kann (StrDispose).
|
AW: Ungewolltes "Enter your credentials" bei Datenbank-Login
Wer
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 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