Autor Beitrag
Timisonfire
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 02.01.10 19:29 
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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: 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

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
MaPsTaR
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 90
Erhaltene Danke: 4

Win XP
Delphi 7 Enterprise
BeitragVerfasst: 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.

_________________
Liebe Kinder, es stimmt ... solnage auch nur der ertse und lezte Bchutsabe rihctig ist und alle andreen Bcuhsatben irgendwie vorahnden sind,
dann knan man es dennonch lesen, also macht nur weiter so, wir verstehen euch schon
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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.