AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TListItem um Eigenschaften erweitern

Ein Thema von mika · begonnen am 29. Jan 2003 · letzter Beitrag vom 31. Jan 2003
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von mika
mika

Registriert seit: 25. Okt 2002
176 Beiträge
 
Delphi 6 Professional
 
#1

TListItem um Eigenschaften erweitern

  Alt 29. Jan 2003, 09:12
Hallo,

ich habe ein ListView mit Einträgen zu erstellen, alles ja nicht so
schwierig aber mein problem ist das jedes ListItem einen Eintrag in der
Datenbank darstellt. Nun habe ich das immer bisher so gelöst das ich in der
Data Eigenschaft einen Pointer auf einen RecordDatensatz im Speicher
gesetzt habe in dem meine zusätzlichen Daten stehen. Nun habe ich manchmal
aber das Problem das der Zeiger nicht mehr stimmt oder die Aktualisierung
im Speicher fehlschlug. Mir kam die Idee das TListItem zu erweitern und
meine Daten da mit abzuspeichern.

Im simpelsten Beispiel wie folgt

Delphi-Quellcode:
type
  TMyListItem = Class(TlistItem)
    Auftrag : Integer;
  end;

Var
  myListItem := TMyListItem
aber wenn ich dann sage

  myListItem := ListView1.Items.Add; sagt er mir das TListItem und TMyListItem unterschiedlich sind, was kann
man denn da machen? Ist das ganze überhaupt möglich? Ich hoffe doch sehr
da sich meine Probleme mit der Speichersynchronisation damit in Luft
auflösen würden.


danke schon im voraus, mika
:: don't Panic ::
  Mit Zitat antworten Zitat
Benutzerbild von mika
mika

Registriert seit: 25. Okt 2002
176 Beiträge
 
Delphi 6 Professional
 
#2

CommCtrls

  Alt 29. Jan 2003, 10:50
Hallo, ich habe jetzt mal probiert meine eigenschaften die ich brauche
direkt in der Typdeklaration von TListItem in der Unit CommCtrls.pas
einzutragen, aber ohne erfolg, wenn ich probiere die property aufzurufen
sagt er mir die eigenschaft würde nicht existieren


im Pivate Abschnitt
FAuftrag : Integer

im Public Abschnitt
property Auftrag: Integer read FAuftrag write FAuftrag
:: don't Panic ::
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#3

Re: CommCtrls

  Alt 29. Jan 2003, 11:38
Zitat von mika:
... direkt in der Typdeklaration von TListItem in der Unit CommCtrls.pas einzutragen ...
Abgesehen davon das es immer sehr schlecht ist in den original .pas etwas zu ändern......

Hast Du die CommCtrls auch neu compiliert?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: CommCtrls

  Alt 29. Jan 2003, 12:06
Zitat von mika:
direkt in der Typdeklaration von TListItem in der Unit CommCtrls.pas
einzutragen
*grusel* *schüttel*

Leite dir dein eigene Komponente von TListview ab und erweiter sie um dir gewünschten Eingenschaften, Methoden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mika
mika

Registriert seit: 25. Okt 2002
176 Beiträge
 
Delphi 6 Professional
 
#5

Mika

  Alt 29. Jan 2003, 12:28
Hi,

hab auch grad gemerkt das es nicht grad ne witzige idee ist die quellen zu
verändern, jetzt speichert er zwar meine daten gewünscht ab, aber er
meckert an der shellctrls rum wie leite ich denn meine klasse von
Tlistview ab? ich will das ja in der form benutzen.

ausserdem brauch ich ja daten pro eintrag, geht das wenn ich mir ne
tlistview ableite? ich bin der meinung der beste weg wäre ne abgeleitete
Klasse von TListItem, aber das will nicht gehen

hat da nicht jemand ne idee wie ich mir mein eigenes listitem erstelle
was ich in der listview anzeige?
:: don't Panic ::
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6
  Alt 29. Jan 2003, 12:36
Mit der Komponentenentwicklung habe ich auch nicht sehr viel Erfahrung (, um genau zu sein gar keine, siehe meine Homepage ). Ich würde an deiner Stelle einfach mal Im Forum suchen bzw. am all seits beliebten Volkssport "googlen" teilnehmen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mika
mika

Registriert seit: 25. Okt 2002
176 Beiträge
 
Delphi 6 Professional
 
#7

Mika

  Alt 29. Jan 2003, 12:55
HI Luckie,

ich hab auch nicht soviel ahnung davon, aber ich hab jetzt probiert eine
struktur von listitem zu erstellen, die auf meine abgeleitete klasse
aufbaut und die per sendmessage ins listview reinzupusten, aber dann
gibts ne AV hat nicht vielleicht jemand hier schon mal sowas
gemacht?? Sakura?

Gegoogelt hab ich schon wie wild, und ich hab auch schon im forum (auch
in anderen) gesucht, bevor ich diesen thread erstellt habe.
Vielleicht bin ich ja einfach zu blöd die richtigen keywords rauszusuchen.


Mika
:: don't Panic ::
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 29. Jan 2003, 14:27
Moin Mika,

das Beispiel aus Deinem Eingangsposting kann nicht funktionieren, da Du versuchst einem Objekt vom Typ einer abgeleiteten Klasse ein Objekt der Basisklasse zuzuordnen.
Da i.d.R. aber Basisklassen weniger enthalten, als die abgeleiteten wird diese Zuweisung verweigert (umgekehrt ginge es).
Man könnte das wohl durch einen Typecast erzwingen, aber dadurch würde das Ergebnis immer noch nicht funktionieren, da ja das mit Add hinzugefügte ListViewItem ein Standard ListViewItem ist.

Den TCustomListView zu diesen Zwecken abzuleiten und mit geänderten TListViewItems auszustatten kommt mir allerdings ausgesprochen aufwändig vor.

Das das mit der Eigenschaft Data nicht 100%ig funktioniert kommt mir komisch vor. Da scheint irgendwo ein Fehler vorzuliegen, denn normaler Weise funktioniert das, so wie Du es beschrieben hast, problemlos.

Es wäre wahrscheinlich einfacher hier anzusetzen, als eine neue Kompo zu bauen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#9
  Alt 29. Jan 2003, 17:27
Wieso soll/kann das mit einem Integer klappen? Warum kein String?

Grüsse, Daniel
  Mit Zitat antworten Zitat
Benutzerbild von mika
mika

Registriert seit: 25. Okt 2002
176 Beiträge
 
Delphi 6 Professional
 
#10

Mika

  Alt 31. Jan 2003, 08:52
Hallo,

an sich ist mit der Eigenschaft Data eines TListItem nichts verkehrt, nur
habe ich ab und an Probleme mit der Verwaltung von dynamischen Array's,
wenn ich probiere den Zeiger meiner Variablen laut der Eigenschaft Data
des ListItems neu zu setzen dann bekomme ich ab und an eine AV

aber ich habe mir jetzt überlegt den Index des Elements in der Eigenschaft
Tag zu speichern und dann einfach das Element so aufzurufen.

Mal sehen wie das klappt



mfg, mika
:: don't Panic ::
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:45 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