Autor Beitrag
GuGl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 35



BeitragVerfasst: Do 27.02.03 14:41 
Hi @All

mit
ausblenden Quelltext
1:
RichEdit.Paragraph.Tab[0] := 100;					

kann man den Tabulator-Sprung im RichEdit zur Laufzeit verändern. Unter Win98 klappt das auch bestens. Leider unter W2K nicht. Kennt jemand dieses Problem und hat ggf eine Lösung parat.

Danke im Voraus

Moderiert von user profile iconTino: Code-Tags hinzugefügt.

_________________
Gruß, GuGl
mr_data
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win XP, Win2K
D5, D6 Pers.
BeitragVerfasst: Do 27.02.03 18:39 
Hallo Gugl,

kann ich nicht bestätigen, bei mir klappt diese Tab-Zuweisung
mit einer mit D5 auf Win2K erstellten .exe auch auf Win95.

Ich habe folgende dlls:

auf Win2K riched20.dll vom 4.5.2001
riched32.dll vom 10.12.1999

auf Win95 riched20.dll vom 5.2.1999
riched32.dll vom 30.9.1996

Irgendwas müsste bei dir anders sein.

Ansonsten kenne ich aber auch das Problem, dass die obige .exe auf Win9x nicht so wie auf Win2k arbeitet. Die dlls sind nicht wirklich kompatibel.

Sorry, ich sehe jetzt, dass du die exe wohl auf Win98 erstellt hast und es auf 2K nicht geht - das kann ich leider erst heute abend probieren.

Gruß Data
mr_data
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win XP, Win2K
D5, D6 Pers.
BeitragVerfasst: Fr 28.02.03 08:40 
Moin Gugl,

jetzt hab ich mit der auf Win98 (mit D6) erzeugten .exe getestet, hochinteressantes Ergebnis:
Auf Win98 läufts einwandfrei, auf Win2k muss man die Taste 2 x drücken (!!!), beim 1.
Tastendruck reagiert er nicht. (Brat mir doch einer nen Storch :?: ). Mein Code dazu:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TfrmEditor.ActiveRichEditOnKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if (Shift = [ssShift]) and (Key = VK_F12) then
  begin
  ActiveRichEdit.Paragraph.Tab[0] := 200;
  ActiveRichEdit.Paragraph.Tab[1] := 400;
  end;
end;


Also - was kann man raten? Wenn du die Möglichkeit hast, erzeuge die .exe auf Win2K.
Vorsichtig testen - die auf Win2K erzeugten .exen machen mir auf Win9x Probleme, allerdings
nur mit Sachen, die ich in der überschriebenen wm_paint-Routine des Richedit mache.

Gruß data
GuGl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 35



BeitragVerfasst: Fr 28.02.03 09:02 
Hallo mr_data,

danke fürs testen.

Die ursprüngliche exe wurde mit W2K erstellt. Dabei haben wir ja
festgestellt, das der Fehler auftritt. Zur Kontrolle habe ich das dann auf
W98 laufen lassen, keine Probleme. Weiß der Henker was das soll.
Die dll's auf dem W2K Rechner:

riched20 vom 22.07.2002
riched32 vom 10.12.1999

Mal sehen wie ich das löse.

_________________
Gruß, GuGl
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Fr 28.02.03 09:27 
Hallo

probierts mal so
ausblenden Quelltext
1:
2:
3:
  richedit1.Paragraph.TabCount:=2;
  RichEdit1.Paragraph.Tab[0] := 200;
  ...


Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
GuGl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 35



BeitragVerfasst: Fr 28.02.03 09:41 
funzt prima

Firma dankt, Chef grüßt

_________________
Gruß, GuGl
mr_data
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win XP, Win2K
D5, D6 Pers.
BeitragVerfasst: Fr 28.02.03 11:06 
Moin Keldorn,

Spitze, aber kannst du auch erklären, warum das TabCount-Setzen hilft ?

Eigentlich müsste er es automatisch machen, Zitat Delphi-Doku:
"Tab ist eine indizierte Eigenschaft, die auf ein Array von absoluten Tabstopp-Positionen zeigt. Die Position des ersten Tabstopps ist Tab[0], die Position des nächsten ist Tab[1]. Die letzte Position wird mit Tab[TabCount - 1] referenziert.

Wenn Index Werte kleiner als TabCount erhält, wird die Position vorhandener Tabstopps verändert. Alle Wert von Index, die größer oder gleich TabCount sind, vergrößern die Anzahl der Tabstopps im Absatz und ändern entsprechend den Wert von TabCount."
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Fr 28.02.03 11:16 
sorry kann ich leider nicht, aber über die Delphi-Hilfe bin ich auch gestolpert.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)