(Delphi XE)
Hallo zusammen
Ich sitze zurzeit an 'nem echten Problem und bekomme es einfach nicht gelößt.
Ich erarbeite zur Zeit einen Netzwerkclient, welcher mit anderen synchronisiert Ordner und Dateien über die TShellListView darstellt.
Die Verbindung hab ich ziehmlich einfach über Stringversand (
TCP) realisiert. Nun dachte ich mir, dass es ganz praktisch wäre, wenn ich die ShellListView,
wenn sie ein Nutzer abändert, mit den anderen Clients immer als Instanz synchron halte, dann muss ich mich nicht um jede Eigenschaft einzeln kümmern.
Also wollte ich die Komponente übers Netzwerk als String verschicken. Erst die Komponente
in einen String umsetzen und dann per
TCP versende. Mit 'nem Memo oder 'nem Edit ist das auch kein Problem, die haben ihren Inhalt "bei sich". Wenn ich aber nun die ShellListView umsetze, dann bekomme ich zwar alle Eigenschaften, jedoch keinerlei angezeigte Ordner / Dateien: Das ganze sieht so aus:
Code:
object shList: TShellListView
Left = 256
Top = 8
Width = 498
Height = 401
AutoRefresh = True
ObjectTypes = [otFolders, otNonFolders, otHidden]
Root = 'C:\'
Sorted = True
ReadOnly = False
HideSelection = False
TabOrder = 0
ViewStyle = vsReport
end
'Root' und alles stimmt auch, nur fehlen die Items.
TShellListView ist von TCustomShellListView, welche von TCustomListView, IShellCommandVerb abgeleitet ist, ich habe also Zugriff auf die 'Item's.
Wie bekomme ich also den Inhalt mitgesendet?
Oder gibt es noch eine andere Möglichkeit eine Komponente vollständig in einen String (ein Stream würde auch gehen) umzusetzen, so dass man eine 1:1 Kopie erhält?
Lg