Vordefiierte Konstanten ei Dialogs.[gelöst]

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

Vordefiierte Konstanten ei Dialogs.[gelöst]

Beitragvon haderlump » 8. Aug 2018, 05:10 Vordefiierte Konstanten ei Dialogs.[gelöst]

Hallo zusammen
Auf der Webseuíte http://wiki.freepascal.org/Dialog_Examp ... MessageBox
sind Konstanten für Dialogboxen etc vordefiniert.
Es wird darauf verwiedsen dass diese in dialogs.pp vordefiniert sind.
in meinen uses-Klauseln steht unter anderen der Eintrag "Dialogs".
offensichtlich ist dieser nich mit dialogs.pp gleich zu setzen. Die Konstanten müssten ja sonst bekannt sein.
oder was mache ich da falsch.

Wenn ich z.B schreibe Messagebox('blabla','blabla',MB_ICONQUESTION + MB_YESNO); kommt die Meldung 'Identifier not found "mb_yesno""
was muss ich denn tun?

Gruß Fritz

P.S ich habe mich inzwischen mit numerischen Werten beholfen, aber es muss ja auch "amtlich" funktionieren.
Zuletzt geändert von haderlump am 2. Sep 2018, 05:58, insgesamt 1-mal geändert.
haderlump
 
Beiträge: 106
Registriert: 18. Jan 2013, 09:29
OS, Lazarus, FPC: Widows XP, Lazarus 1.6 | 
CPU-Target: Celeron
Nach oben

Beitragvon MacWomble » 8. Aug 2018, 06:12 Re: Vordefiierte Konstanten ei Dialogs.

Du musst in uses noch LCLType mit aufführen.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
 
Beiträge: 610
Registriert: 17. Apr 2008, 00:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 19 Cinnamon / CodeTyphon Generation V Plan 6.60 | 
CPU-Target: Intel i7 64/32 Bit
Nach oben

Beitragvon mischi » 8. Aug 2018, 10:45 Re: Vordefiierte Konstanten ei Dialogs.

Die Lösung für solche Probleme finde ich immer über den Index der lcl:

http://lazarus-ccr.sourceforge.net/docs ... dex-8.html

Suchen, anklicken und schauen, in welcher Unit das ist.
MiSchi macht die fink-Pakete
mischi
 
Beiträge: 205
Registriert: 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon theo » 8. Aug 2018, 11:10 Re: Vordefiierte Konstanten ei Dialogs.

Immer wieder schade, dass fast niemand die einfachste Lösung für solche Fragen kennt.

Wenn die Fehlermeldung kommt, z.B.
Code: Alles auswählen
unit1.pas(34,50) Error: Identifier not found "MB_YESNO"

Einfach mit dem Mauszeiger auf die Fehlermeldungszeile->Rechtsklick -> "Suche Bezeichner".
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
theo
 
Beiträge: 8070
Registriert: 11. Sep 2006, 18:01

Beitragvon wp_xyz » 8. Aug 2018, 12:23 Re: Vordefiierte Konstanten ei Dialogs.

Wobei man anmerken sollte, dass das nur funktioniert, wenn die Unit, in der der gesuchte Bezeichner deklariert ist, in der USES-Liste aufgeführt ist, und wenn man das weiß, wäre das Problem eh' nicht aufgetaucht.

Weiter kommt man, wenn das Package Cody installiert ist, und man nach Rechts-Klick auf den gesuchten Bezeichner den Menüpunkt "Source" > "Show Unit / Identifier dictionary" aus den Kontextmenü (oder auch MainMenu) auswählt.

Oder man merkt sich:
- Vieles, was irgendwie in die Richtung Widgetset geht, findet man in den Units LCLType, LCLIntf, LCLProc oder LMessages.
- Vieles, was mit UTF8-Problemen zu tun hat, findet man in LazUtf8, LConvEncoding, LazUnicode.
- String-Routinen, die nicht in SysUtils enthalten sind, stehen in StrUtils.
- Datums-Routinen, die nicht in SysUtils enthalten sind. stehen in DateUtils;
- Datei-Routinen, die nicht in SysUtils enthalten sind, stehen in FileUtil oder LazFileUtils.
- Wenn eine *Utils-Unit nicht gefunden wird, probiere man es auch mit dem Singular. Also FileUtil statt FileUtils.

Wenn man ernsthaft mit Lazarus arbeiten will, sollte man auch den Inhalt dieser zentralen Units kennen. Dazu die entsprechende Unit in die USES-Liste aufnehmen, mit gedrückter CTRL-Taste auf dem Unitnamen klicken (oder mit der theo-Methode Rechtsklick+"Suche Bezeichner"). Dann öffent sich die Unit und man kann durchstöbern, was alles vorhanden ist. Ich selbst finde so immer noch verborgene Schätze.
wp_xyz
 
Beiträge: 2694
Registriert: 8. Apr 2011, 08:01

Beitragvon Socke » 8. Aug 2018, 12:34 Re: Vordefiierte Konstanten ei Dialogs.

haderlump hat geschrieben:Hallo zusammen
Auf der Webseuíte http://wiki.freepascal.org/Dialog_Examp ... MessageBox
sind Konstanten für Dialogboxen etc vordefiniert.
Es wird darauf verwiedsen dass diese in dialogs.pp vordefiniert sind.

Kannst du bitte sagen, wo genau auf der Wiki-Seite diese Aussage getätigt wird? Sie ist nämlich einfach falsch und könnte dann korrigiert werden. Im Abschnitt MessageBox habe ich das bereits klargestellt.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
 
Beiträge: 2557
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon theo » 8. Aug 2018, 12:59 Re: Vordefiierte Konstanten ei Dialogs.

wp_xyz hat geschrieben:Wobei man anmerken sollte, dass das nur funktioniert, wenn die Unit, in der der gesuchte Bezeichner deklariert ist, in der USES-Liste aufgeführt ist, und wenn man das weiß, wäre das Problem eh' nicht aufgetaucht.

Sprichst du von meinem Vorschlag?
Nö, sonst wäre der Error ja gar nicht erst vorhanden.
Das Ding sucht überall.
theo
 
Beiträge: 8070
Registriert: 11. Sep 2006, 18:01

Beitragvon wp_xyz » 8. Aug 2018, 13:25 Re: Vordefiierte Konstanten ei Dialogs.

theo hat geschrieben:
wp_xyz hat geschrieben:Wobei man anmerken sollte, dass das nur funktioniert, wenn die Unit, in der der gesuchte Bezeichner deklariert ist, in der USES-Liste aufgeführt ist, und wenn man das weiß, wäre das Problem eh' nicht aufgetaucht.

Sprichst du von meinem Vorschlag?
Nö, sonst wäre der Error ja gar nicht erst vorhanden.
Das Ding sucht überall.

OK. Ich habe überlesen, dass der Rechtsklick auf der Fehlermeldung im Nachrichtenfenster nach dem Kompilieren erfolgen muss, mein Rechtsklick war auf dem Bezeichner im Quelltext. Viele Wege führen nach Rom, deiner ist kürzer.
wp_xyz
 
Beiträge: 2694
Registriert: 8. Apr 2011, 08:01

Beitragvon wp_xyz » 8. Aug 2018, 13:30 Re: Vordefiierte Konstanten ei Dialogs.

Socke hat geschrieben:
haderlump hat geschrieben:Hallo zusammen
Auf der Webseuíte http://wiki.freepascal.org/Dialog_Examp ... MessageBox
sind Konstanten für Dialogboxen etc vordefiniert.
Es wird darauf verwiedsen dass diese in dialogs.pp vordefiniert sind.

Kannst du bitte sagen, wo genau auf der Wiki-Seite diese Aussage getätigt wird? Sie ist nämlich einfach falsch und könnte dann korrigiert werden. Im Abschnitt MessageBox habe ich das bereits klargestellt.

Sucht man auf der Seite nach "dialogs", findet man "definiert in Dialogs.pp" im Zusammenhand mit einer anderen Prozedur ("ShowMessage") gemeint ist wahrscheinlich "deklariert". Hab's entsprechend geändert.

Ansonsten wäre in dem MessageBox-Beispiel die Unit auch in der Uses-Zeile angegeben gewesen, so dass bei sorgfältigem Lesen das Problem gar nicht enstanden wäre (mit "sorgfältigem Lesen" muss ich mich selbst auch an die Nase fassen).
wp_xyz
 
Beiträge: 2694
Registriert: 8. Apr 2011, 08:01

Beitragvon haderlump » 8. Aug 2018, 18:45 Re: Vordefiierte Konstanten ei Dialogs.

Danke, jetzt klappt es.
Hab einfach LCLType eingefügt.

Gruß Fritz
haderlump
 
Beiträge: 106
Registriert: 18. Jan 2013, 09:29
OS, Lazarus, FPC: Widows XP, Lazarus 1.6 | 
CPU-Target: Celeron
Nach oben

Beitragvon MacWomble » 9. Aug 2018, 07:25 Re: Vordefiierte Konstanten ei Dialogs.

... und wenn du nun den ersten Eintrag dieses Threads noch editierst und in der Überschrift ein '[Gelöst]' einfügst, wäre das in der Übersicht auch ersichtlich. - Danke
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
 
Beiträge: 610
Registriert: 17. Apr 2008, 00:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 19 Cinnamon / CodeTyphon Generation V Plan 6.60 | 
CPU-Target: Intel i7 64/32 Bit
Nach oben

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried