![]() |
...verhindern, dass es unter XP eine Zugriffsverletzung mit
Hi,
![]() schaut euch doch mal bitte den Link an. Irgendwie geht das bei mir net, was muss ich denn genau machen, dass es klappt? Gruss Nico |
Wo ist das Problem? Da steht doch genau, was du machen mußt.
|
Ja, schon, aber genau das bewirkt bei mir nichts. Es geht immer noch nicht...
Gruss Nico |
Und warum wendest Du Dich nichts ans SwissDelphiCenter?
Soviel ich weiss, gab es bei denen noch nie Probleme mit Einträgen in der FAQ. Also, entweder machst Du was Falsch, oder Du wendest Dich an die Falschen Leute. Vielleicht hast Du auch die falsche Komponente installiert. Oder es gab einen Fehler beim installieren. Den das XWManifest, worum es hier geht, ist bei Delphi 7 Prof. dabei. Du bist noch bei D5. Somit musst DU es nachträglich installiert haben. Daher, entweder fehler beim installieren, oder die falsche Kompo. Den es gibt sehr viele XP-Style Komponenten, die vom Namen her sehr ähnlich sind. Also, nochmals überprüfen. Grüsse, Daniel :hi: |
So´n Quark, Daniel B. Nichts für ungut, dennoch.
Der Fehler bezieht sich darauf, dass bestimmte "Common Controls" der älteren Delphi-Versionen (bis einschließlich D6, würde ich mal behaupten) unter bestimmten Umständen Fehler verursachen, wenn man sie mit der Manifest-Datei von WinXP im neuen Glanz "erstrahlen" lassen will. Im Fall der Listview wäre das im "vsReport"-Modus. Die mir bekannten XP-Komponenten funktionieren alle nach dem selben Prinzip: sie stellen dem Programm die besagte XML-Manifest-Datei zur Verfügung; ob nun extern oder in den Resourcen. Da erst Delphi 7 offiziell mit einer kompletten WinXP-Unterstützung ausgewiesen wurde, müssen IMHO also alle älteren Versionen manuell fit gemacht werden. Das hat mit den Komponenten, wenn es denn um den LUNA-Stil von WinXP geht, nichts zu tun. @Scorpion: Keine Ahnung, wo dein Fehler liegt, aber prinzipiell steht alles im Kommentar drin. Unit "ComCtrl.pas" öffnen -> die genannte Prozedur suchen -> die auskommentierte Zeile suchen, auskommtentieren und dann das reinschreiben, was die Schweizer angeben -> die Unit kompilieren und das Programm mit einer Listview testen ... Vielleicht hätte man besser die komplette Prozedur zeigen sollen; nicht nur den Auszug, das könnte ein Grund für die Verwirrung sein. Meine sieht übrigens so aus:
Code:
procedure TCustomListView.UpdateColumn(AnIndex: Integer);
const IAlignment: array[Boolean, TAlignment] of LongInt = ((LVCFMT_LEFT, LVCFMT_RIGHT, LVCFMT_CENTER), (LVCFMT_RIGHT, LVCFMT_LEFT, LVCFMT_CENTER)); var Column: TLVColumn; AAlignment: TAlignment; begin if HandleAllocated then with Column, Columns.Items[AnIndex] do begin mask := LVCF_TEXT or LVCF_FMT or LVCF_IMAGE; iImage := FImageIndex; pszText := PChar(Caption); AAlignment := Alignment; if Index <> 0 then fmt := IAlignment[UseRightToLeftAlignment, AAlignment] else fmt := LVCFMT_LEFT; if FImageIndex <> -1 then fmt := fmt or LVCFMT_IMAGE or LVCFMT_COL_HAS_IMAGES // WinXP patch else mask := mask and not (LVCF_IMAGE); if WidthType > ColumnTextWidth then begin mask := mask or LVCF_WIDTH; cx := FWidth; ListView_SetColumn(Handle, Columns[AnIndex].FOrderTag, Column); end else begin ListView_SetColumn(Handle, Columns[AnIndex].FOrderTag, Column); if ViewStyle = vsList then ListView_SetColumnWidth(Handle, -1, WidthType) else if (ViewStyle = vsReport) and not OwnerData then ListView_SetColumnWidth(Handle, Columns[AnIndex].FOrderTag, WidthType); end; end; end; |
@ All,
danke für eure tips jetzt gehts... Gruss Nico |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz