![]() |
TlistView mit DLL an Programm übergeben -- Hilfe :D
Hallo
Ich habe das hier in einer DLL
Delphi-Quellcode:
Weshalb geht das nicht?
result.AddItem(ini.ReadString(inttostr(ii),'name','db Error'));
|
Re: Was fehlt hier?
Was geht wie nicht? Fehlermeldung, ...?
|
Re: Was fehlt hier?
Ja es kommt zu wenig parameter ich weiss das es noch einen Parameter vom typ TObject erwartet aber ich weiss nicht was da rein kommen soll
Ach sorry volkommen vergessen den rest zu Posten
Delphi-Quellcode:
function listdbn():Tlistview;stdcall;
var i,ii:integer; begin try result := tlistview.Create(nil); ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+inifn); i := ini.ReadInteger('Config','dbc',1); ii := 0; repeat result.AddItem(ini.ReadString(inttostr(ii),'name','db Error')); ii := ii + 1; until ii = i; finally ini.Free; end; end; |
Re: Was fehlt hier?
Was bitte ist "result"?
|
Re: Was fehlt hier?
Siehe oben meinen Edit :D
|
Re: Was fehlt hier?
Wo ist die Variable "ini" definiert?
|
Re: Was fehlt hier?
die is global definiert also an dem wird net liegen
Ich muss da noch etwas weiter ausholen Es geht da um eine Musik also mp3 Datenbank zu beginn hab ich Listbox verwendet und einfach TStrings übergeben, da konnte man einfach result.add .... machen Dan is mir aufgefallen das tlistview wegen den Spalten viel besser is und bin auf listview umgestiegen weil liestview tstrings nicht akzeptiert muss ich nun TListview direkt übergeben (Von der DLL Aus!!) Aber bei TListview kann man nicht mehr einfach result.add machen sondern muss da noch mehr angeben Bin allen tipps gegenüber offen :D |
Re: Was fehlt hier?
Setze einfach als zweiten Parameter nil ein, wenn du TListItem.Data sowieso nicht verwendest. Was hältst du eigentlich von der Delphi-Hilfe?
|
Re: Was fehlt hier?
Ich hab mir zum Hinzufügen eines Eintrages in eine ListView mal eine eine Procedure geschrieben:
Delphi-Quellcode:
Die Variable "Rest_CommaText" ist die für die Spalten >= 2.
procedure ListView_neuer_Eintrag(ListView: TListView; const ersteSpalte,
Rest_CommaText: String; Checked: Boolean = true); var ListItem: TListItem; begin with ListView do begin ListItem := Items.Add; ListItem.Caption := ersteSpalte; ListItem.SubItems.CommaText := Rest_CommaText; If Checkboxes then Items.Item[Items.Count - 1].Checked := Checked; end; end; Aufruf:
Delphi-Quellcode:
[edit]
ListView_neuer_Eintrag(Result, ini.ReadString(inttostr(ii)), 'name,db Error');
Diese Procedure fügt einen Eintrag immer am Schluss an. Solltest du Checkboxen verwenden, so kannst du mit "Checked" angeben, ob diese true oder false sein soll, Default-Einstellung: true [/edit] |
Re: Was fehlt hier?
[OT]
Ich finds ja immer wieder interessant, wieviele Leute gleich mit "Delphi X Enterprise" oder wie hier "RAD-Studio 2007 Architect" (für ~2k EUR) in die Delphi-Welt einsteigen ... :mrgreen: ... Ein Schelm, wer böses dabei denkt ... [/OT] |
Re: Was fehlt hier?
:D
Musst bedenken ich Programmiere schon seit 2 Jahren Delphi :D |
Re: Was fehlt hier?
Zitat:
Könntest du bitte dem Beitrag einen aussagekräftigen Titel geben der beschreibt um was es geht? Danke :-D |
Re: TlistView mit DLL an Programm übergeben -- Hilfe :D
Testversionen tuns auch :D
Auch wenn leider blos 14 Tage |
Re: TlistView mit DLL an Programm übergeben -- Hilfe :D
Achjaaa Danke noch für die Procedure :D
|
Re: Was fehlt hier?
Zitat:
|
Re: Was fehlt hier?
Zitat:
Wenn du dir die Hilfe zu SubItems.CommaText anschauen würdest, würdest du feststellen, dass dort der Aufbau steht. Die Texte der einzelnen Spalten werden mit Komma´s :!: :!: :!: getrennt. Beispiel:
Delphi-Quellcode:
Das wären also die Spalten 2, 3 und 4.
var
S: String; {...} S := 'hallo, du, da'; ListView.SubItems.CommaText := S; Selbsterklärend oder? |
Re: TlistView mit DLL an Programm übergeben -- Hilfe :D
Ja Tut mir leid....
Trozdem danke Weisst du zufälligerweise wie man den wert einer bestimmten Spalte erhält? |
Re: TlistView mit DLL an Programm übergeben -- Hilfe :D
Objekte, die in DLLs erzeugt wurden kann man nicht so einfach zurückgeben, da die DLL einen eigenen Speichermanager besitzt. Das geht nur, wenn man Packages (BPLs), also Borland spezifische DLLs benutzt.
|
Re: TlistView mit DLL an Programm übergeben -- Hilfe :D
Was meinst du mit "Wert einer bestimmten Spalte erhalten"?
|
Re: TlistView mit DLL an Programm übergeben -- Hilfe :D
Hmmm ok dan werd ich einfach strings übergeben und in der anwendung diese auslesen
Trozdem danke Damit meine ich das was zb in der zweitenspalte 3 zeile steht in einem label anzuzeigen die einzige möglichkeit die mir dabei einfällt ist den comma text auszugeben und bei jedem komma zu trennen gibts da sonst noch ne möglichkeit? |
Re: TlistView mit DLL an Programm übergeben -- Hilfe :D
Wie wäre es, wenn du dich mal mit einer ListView und deren Eigenschaften beschäftigen würdest??
Delphi-Quellcode:
S beinhaltet den Text aus der ersten Zeile, 4. Spalte
var
S: String; begin S := ListView_NamenList.Items.Item[0].SubItems.Strings[2]; end; 1. Spalte = Item[0].Caption 2. Spalte = Strings[0] 3. Spalte = Strings[1] 4. Spalte = Strings[2] Aber nicht vergessen: HILFE LESEN!! |
Re: TlistView mit DLL an Programm übergeben -- Hilfe :D
Danke viel mal :D
|
Re: TlistView mit DLL an Programm übergeben -- Hilfe :D
weshalb wird bei jedem leerzeichen eine spalte nach vorne gerükt?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 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-2025 by Thomas Breitkreuz