Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 2010 (https://www.delphipraxis.net/140949-tstringaligngrid-andreas-hoerstemeier-delphi2009-oder-2010-a.html)

NickelM 3. Okt 2009 02:58

Re: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 201
 
Liste der Anhänge anzeigen (Anzahl: 1)
So ich hab jetzt mal ein paar dinge verändert.
Bei mir (Delphi 2009) kommen nun keine fehler mehr.
Hab nur die veränderten Dateien angehängt
Was mir nur aufgefallen ist, ist das jetzt beim Start der Anwendung die voreingestellten Strings nur teilweise angezeigt werden.
Ich wollte mal wissen ob das nun auch bei dir kommt.
Wenn ja glaub ich muss ich, damit es besser läuft, die Speicherung der virtuellen Zellen komplett ändern.
Das Prob war das PString und PChar zusammen gemischt waren. Dies funkt natürlich nicht.
PString ist nen Pointer auf nen String und PChar nen Pointer auf die einzelnen Chars, soviel ich weis.
Wenn das mit den Strings auch bei dir kommt, dan muss ich wohl ne eigene Klasse für die machen :mrgreen:

Hoffe ich konnte dir immerhin schonmal ein wenig helfen.
Wenns noch weitere Probs auser dies gibt, sag mir mal bescheid, durch was,wann und wo genau das passiert. Dann versuch ich mal das auch herauszufinden.

himitsu 3. Okt 2009 17:07

Re: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 201
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von gullatrulla
Die Zugriffsverletzung erscheint nicht während des Programmablaufs
sondern gleich innerhalb der IDE beim Doppelklick aus Grid.

Also bis auf ein paar umgestellte Uses-Listen (Controls mußte z.B. weiter hinten eingefügt werden, da sonst noch Definitionen aus anderen Units verwendet wurden, welche verschoben wurden und wo der Compiler dann die Verwendung der "alten" Typen meckert)

Es sind jetzt praktisch alle Warnungen raus (bis auf eine bezüglich dem IN bei Char-Sets).

Ansonsten hab ich eigentlich nichts mehr verändert.
Und bei mir läßt es sich ebenfalls in D2009 ohne Exception einfügen :gruebel:

Zitat:

Zitat von gullatrulla
Ps. Die OriginalSource von Andreas Hörstemeier's TStringAlignGrid
habe ich als Attachment angehängt.

Die hatte ich mir schon persönlich von diesem geholt, aber es kann bestimmt nicht schaden diese hier mit zu haben ... wer weiß, wann er ganz aufhört und diese von seiner Seite runterlöscht :stupid:

NickelM 5. Okt 2009 07:21

Re: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 201
 
Liste der Anhänge anzeigen (Anzahl: 1)
So zur Zeit hab ich mal versucht auf eine ganz andere weise die Strings zu machen aber irgendwie macht er es nicht :wiejetzt:
Ich hab die zweite TList die erstellt wird für die Strings in eine TStringList geändert um das speichern mit den Strings zu vereinfachen.
Alle Funktionen habe ich nun die auf das zugreifen, kopiert und geändert (sozusagen eine 2te Prozedure jeweils gemacht)
Weil mit PChar gehts net als Pointer der Liste zu übergeben, dies führt zu anderen Texten bzw. andere Zeichen. Egal ob man übern Editor ändert oder compiliert und dan starten, steht was völlig anderes drin... :wiejetzt:

So...zurück zu meinen Versuch. Das mit den Stringlisten funkt schon aber nichts wird im Grid angezeigt :roll: .
Bin mit der Suche mehrmals alle Variablen FHintCell und FCell durchgegangen um alle Zuweisungen zuändern.
Wird aber trotzdem nicht angezeigt.
Vllt ist es ja eine Idee wie man es machen kann, vllt bekommst du (gullatrulla) es hin oder auch jemand anderes :mrgreen:
Bin mal weiter am suchen :wink:

gullatrulla 5. Okt 2009 16:27

Re: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 201
 
Hallo himitsu
Hallo NickelM

Ich bin zur Zeit in meinen wohlverdienten Ferien.
Sobald ich wieder zu Hause bin teste ich Eure Anpassungen.

Herzliche Grüsse
Roland

gullatrulla 24. Nov 2009 09:17

Re: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 201
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Delphi-Folks

Die Komponente funktioniert nun unter Delphi 2010.
(soweit ich es erkennen kann)

Falls es jemand noch interessiert...
Im Anhang ist habe ich die Komponente angehängt.

Herzliche Grüsse
Roland

kurt 2. Dez 2010 07:49

AW: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 2010
 
Hallo,
ist das Thema noch aktuell ?
Hat einer in Delphi XE schon Anpassungen genmacht ?

Danke + Gruß Kurti

himitsu 2. Dez 2010 09:27

AW: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 2010
 
Wenn es unter 2009/2010 läuft, dann sollte es auch unter XE laufen.
Die meißten Probleme entstanden bei der Unicodeumstellung in Delphi 2009.

Hast du den Code aus Beitrag #25 mal ausprobiert
und wenn ja, welche Fehlermeldungen/Probleme sind denn aufgetaucht?
(ohne XE kann ich es ja schlecht selber ausprobieren)

kurt 2. Dez 2010 10:42

AW: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 2010
 
Danke für die schnelle Antwort.
... läuft leider eben nich ... Strings aus der dfm werden schon falsch ausgelesen ...denke mit UniCode (2 byte) denn es werden komplett falsche Zeiche angezeigt.
auch xxx.WriteString schreibt 'Unfug' in die dfm. Der Aufruf des Grideditor's schläg auch fehl mit nen RTL-Fehler.
Aus der Fehlermeldung schließe ich (unerfahren) das sicher ein unicode-string in einen ansi-string geschrieben wird.
Soweit ich etwas gelesen hab in 'Neu bei XE' werden wohl Strings doch wieder grundsätzlich anders behandelt.
Bin aber leider zu dumm eine Komponente zur Entwurfszeit zu debuggen.


Gruß Kurti

kurt 2. Dez 2010 14:04

AW: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 2010
 
Hab für mich ne Lösung gefunden.

Code:
procedure TStringAlignGrid.ListToCells(List: TList);
var v: PAnsiString;  // original v: PString;
    ACol, ARow: longint;
begin
  for ACol:= 0 to ColCount- 1 do
    for ARow:= 0 to RowCount- 1 do begin
      v:= GetItemCell(ACol, ARow, List);

      if v <> NIL then Cells[ACol,ARow]:= v^
                  else Cells[ACol,ARow]:= '';
    end;
end;
Und es schein alles zu gehen. Kann mir da einer erklären (will ja lernen) warum dies zw. D2010 und DXE anders ist?
Grüße Kurti

himitsu 2. Dez 2010 15:03

AW: TStringAlignGrid Andreas Hörstemeier/Delphi2009 oder 2010
 
Von wo hast du eigentlich deine Version/PAS genommen, also welche Variante nutzt du?

PString:
bis Delphi 2007 = PAnsiString
ab Delphi 2009 = PUnicodeString


Wenn dort ein PAnsiString nötig ist, dann wurde wohl irgendwo vergessen den Speicher auf Unicode zu erweitern, weshalb es dort noch Ansi ist.


In Delphi XE wurde nun angeblich endlich mal dieses kranke StringChecking entfernt, welches 2009 mit eingeführt wurde.
Eventuell gibt es auch einfach noch irgendwo einen Fehler in der Umsetzung, welches durch dieses StringChecking ausgeglichen still und heimlich wurde. :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz