Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Mehr als 1023 Zeichen in neuem Fenster???


Timisonfire - Sa 02.01.10 19:29
Titel: Mehr als 1023 Zeichen in neuem Fenster???
Hallo,
ich kenn Delphi erst seit etwa 2 Monaten. Nun habe ich aber bereits einige kleine Programme geschrieben und möchte in diese eine Hilfe einfügen.
Dafür habe ich einen Button "Hilfe" eingefügt und durch anklicken wird mit Application.MessageBox ein Fenster geöffnet, in dem dann ein Text stehen soll. Allerdings kommt beim Compilieren die Fehlermeldung:

[DCC Fataler Fehler] Unit1.pas(120): F2069 Zeile zu lang (mehr als 1023 Zeichen)

Ich habe jetzt probiert Zeilenumbrüche einzufügen oder den Text mit '...'+'...' zu unterteilen. Aber nichts davon hat funktioniert.

Was kann ich tun, damit sich beim klicken auf "Hilfe" ein Fenster öffnet, in das mehr als 1023 Zeichen passen?

Vielen Dank schon mal für eure Hilfe!


elundril - Sa 02.01.10 19:31

Hallo und :welcome: im DF!

wie wäre es wenn du selbst ein neues Formular erstellst, der BorderStyle auf "bsDialog" stellst und dann mit labels oder sonstwie den Text reinschreibst? ;)

lg elundril


MaPsTaR - Sa 02.01.10 19:37

Mit MessageDlg() hatte ich bisher noch keine Probleme, bin mir aber nicht sicher ob es dort eine solche Begrenzung gibt.
Das einzige Problem ist nur, dass das Fenster größer werden kann, als der Bildschirm, wenn der Inhalt entsprechend groß (lang) ist.

Da würde sich ein eigenes Formular (evtl. mit Memo mit Scroll-Leisten) wohl besser eignen.


jaenicke - Sa 02.01.10 19:44

Die Begrenzung liegt innerhalb des Delphi-Compilers und lässt sich leicht umgehen indem man den Text in mehrere Zeilen schreibt. Denn es geht hier nur um den Quelltext, dort darf die Zeile nicht so lang sein:

Delphi-Quelltext
1:
2:
3:
lblHelp.Caption := 'Ein relativ langer Text, '
  + 'der in Delphi in mehreren Zeilen steht, '
  + 'aber insgesamt in einem Stück in der Komponente ankommt...';
Trotzdem ist das keine sinnvolle Herangehensweise. Es wäre besser den Text als Ressource zu speichern oder ähnliches statt den direkt in den Quelltext zu schreiben. Das ist viel zu unübersichtlich.

// EDIT:
Ich sehe gerade, dass du diese Möglichkeit auch schon erwähnt hast. Bei mir klappt das hier allerdings dann auch mit längeren Texten. :gruebel:


Timisonfire - Sa 02.01.10 20:01

Danke für die schnellen Antworten.

Mit dem Tipp von jaenicke hats jetzt funktioniert. Ich dachte, dass der Text zwischen den Hochkommas zu lang wäre und habe deshalb hinter den + keine neue Zeile angefangen.
Und was Ressourcen sind weiß ich noch nicht. Aber das werd ich schon noch lernen...So lange steht halt alles im Quelltext.

@elundril
Wie öffne ich denn über einen Button im 1. Formular ein neues Formular?
Und den Text hätte ich über Labels nur Zeile für Zeile einfügen können, da ich nicht weiß, wie man innerhalb von Labels eine neue Zeile anfängt. Sprich der Text lief dann aus dem Formular raus^^


jaenicke - Sa 02.01.10 20:05

user profile iconTimisonfire hat folgendes geschrieben Zum zitierten Posting springen:
Und den Text hätte ich über Labels nur Zeile für Zeile einfügen können, da ich nicht weiß, wie man innerhalb von Labels eine neue Zeile anfängt. Sprich der Text lief dann aus dem Formular raus^^
Naja, einfach danach Width neu setzen und WordWrap im Objektinspektor vorher schon auf True setzen. Und explizite Umbrüche gehen indem du die Zeilenumbruchzeichen #13#10 in den Text einfügst.