AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ...verhindern, dass es unter XP eine Zugriffsverletzung mit
Thema durchsuchen
Ansicht
Themen-Optionen

...verhindern, dass es unter XP eine Zugriffsverletzung mit

Ein Thema von Scorpion · begonnen am 19. Jan 2003 · letzter Beitrag vom 21. Jan 2003
Antwort Antwort
Scorpion

Registriert seit: 3. Nov 2002
Ort: Flörsheim
154 Beiträge
 
Delphi 5 Professional
 
#1

...verhindern, dass es unter XP eine Zugriffsverletzung mit

  Alt 19. Jan 2003, 19:34
Hi,

http://www.swissdelphicenter.ch/de/showcode.php?id=1117

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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 19. Jan 2003, 19:59
Wo ist das Problem? Da steht doch genau, was du machen mußt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Scorpion

Registriert seit: 3. Nov 2002
Ort: Flörsheim
154 Beiträge
 
Delphi 5 Professional
 
#3
  Alt 19. Jan 2003, 20:12
Ja, schon, aber genau das bewirkt bei mir nichts. Es geht immer noch nicht...

Gruss
Nico
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#4
  Alt 19. Jan 2003, 20:32
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
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#5
  Alt 20. Jan 2003, 07:45
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;
  Mit Zitat antworten Zitat
Scorpion

Registriert seit: 3. Nov 2002
Ort: Flörsheim
154 Beiträge
 
Delphi 5 Professional
 
#6
  Alt 21. Jan 2003, 11:47
@ All,

danke für eure tips jetzt gehts...

Gruss
Nico
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr.
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