ext. Programme starten (VLC)
Re: ext. Programme starten (VLC)
Oh, da brauche ich ja Indy... Zum Glück ging das mit OPM einfach zu installieren. Nun stehe ich vor dem Problem wie ich das Programm anwende, um den Fehler zu sehen. Ich helfe ja gerne, aber ich habe keine rechte Lust, ein fremdes Programm so auseinanderzunehmen, um die Problemstelle zu finden...
Re: ext. Programme starten (VLC)
Ich habe zum Beispiel ein NAS wo all meine Filme liegen
Dafür ist es auch gedacht um im internen Netzwerk Filme auf den pc zu streamen
Dafür ist es auch gedacht um im internen Netzwerk Filme auf den pc zu streamen
-
- Beiträge: 2119
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: ext. Programme starten (VLC)
Hehehe... dann wart mal ab bis du nach indy was neues installieren willstwp_xyz hat geschrieben:Zum Glück ging das mit OPM einfach zu installieren..

Indy ist wie Chemotherapie, funktioniert wenn nix anderes mehr hilft, macht aber im allgemeinen mehr kaputt als es hilft. Ich halte mir mittlerweile eine eigene Lazarus version vor für Indy, damit ich mich nur für projekte bei denen ich das auch wirklich benutze damit rumschlagen muss
Re: ext. Programme starten (VLC)
Kann ich jetzt nicht nachvollziehen, bisher ging alles glatt, auch das Installieren und Deinstallieren eines weiteren Package. Aber das soll wahrscheinlich nichts heißen. Das Zeug kommt so schnell wie möglich wieder runter.Warf hat geschrieben:Hehehe... dann wart mal ab bis du nach indy was neues installieren willstIndy muss vor jedem kompilieren von lazarus einmal händisch neu kompiliert werden. Und mit Indy hab ichs auch geschafft den OPM zu zerschießen (sodass der OPM dachte die pakete wären installiert worden, obwohl nur ein teil korrekt installiert wurde. Ich musste dann per hand die OPM dateien löschen damits wieder ging)
Indy ist wie Chemotherapie, funktioniert wenn nix anderes mehr hilft, macht aber im allgemeinen mehr kaputt als es hilft. Ich halte mir mittlerweile eine eigene Lazarus version vor für Indy, damit ich mich nur für projekte bei denen ich das auch wirklich benutze damit rumschlagen muss
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: ext. Programme starten (VLC)
Ja, damit ist es einfach, aber dann macht man ein fpc+Lazarus Update mit fpcupdeluxe und schon gibt es massive Probleme beim neu Kompilieren....Oh, da brauche ich ja Indy... Zum Glück ging das mit OPM einfach zu installieren.
Wegen irgendwelcher Fehler.... z.b. Syntax Fehler(was ja eigentlich nicht sein, kann), oder es wird irgendwas nicht gefunden... Hatte ich schon oft z.b. mit den BRA* Komponenten(darum meide ich sie inzwischen auch).
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 2119
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: ext. Programme starten (VLC)
Beim kompilieren von Indy wird irgendeine Art hash gebildet, abhängig von der Lazarus Version/lcl Version oder so (eventuell ist da sogar das Datum drin)
Wird Lazarus neu gebaut, Indy aber nicht (da sich am Indy Source ja nix geändert hat ist das ja auch zu erwarten) wird dieser hash nicht geupdated, stimmt aber nicht mehr mit dem neuen LCL Build überein (der ist ja jetzt anders da sich ja irgendwas geändert hot, sonst würd man ja nicht neukompilieren) und es kracht
Einfacher fix: nachdem es kracht auf installierte packages anzeigen gehen, Indy suchen, neu kompilieren, und dann erst Lazarus neu kompilieren
Wird Lazarus neu gebaut, Indy aber nicht (da sich am Indy Source ja nix geändert hat ist das ja auch zu erwarten) wird dieser hash nicht geupdated, stimmt aber nicht mehr mit dem neuen LCL Build überein (der ist ja jetzt anders da sich ja irgendwas geändert hot, sonst würd man ja nicht neukompilieren) und es kracht
Einfacher fix: nachdem es kracht auf installierte packages anzeigen gehen, Indy suchen, neu kompilieren, und dann erst Lazarus neu kompilieren
- af0815
- Lazarusforum e. V.
- Beiträge: 6774
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: ext. Programme starten (VLC)
Kann ich unterschreiben. Bei mir hat es an einer Datei gehangen, die man immer wieder händisch builden musste, nach einem clear Build. Das ist echt öde, wenn das komplette Lazarus rekompilieren wegen so einem Paket abbricht. Vor allen, wenn man DirextX und Indy in einem Projekt benötigt kann es toxisch werden, bis hinunter das der FPC ohne Patch (mit 3.2 behoben) nicht mehr linken kann.Warf hat geschrieben:Indy ist wie Chemotherapie, funktioniert wenn nix anderes mehr hilft, macht aber im allgemeinen mehr kaputt als es hilft. Ich halte mir mittlerweile eine eigene Lazarus version vor für Indy
Ich habe mir ein eigens Indy-Paket gebastelt wo nur die Teile drinnen sind die ich für ein anderes Projekt (Modbus Master/Slave) wirklich nur benötige.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: ext. Programme starten (VLC)
Guten. Morgen,
Ok gut zu wissen das ich wenn ich mal auf ein neues Lazarus aktualisiere das mit indy im Hinterkopf habe...
Aber hilft mir momentan auch nicht weiter mit der Listbox und einlesen der Liste ..
Wie kann ich den die Einträge der Reihe nach einlesen in die Listbox...?
Das was ich gefunden habe ist
Da muss ich aber jede Zeile eingeben , was ich aber nicht weiß Wieviele Zeilen in der Liste sind, also müsste das dynamisch gehen..
Kann mir da mal einer bitte helfen
Ok gut zu wissen das ich wenn ich mal auf ein neues Lazarus aktualisiere das mit indy im Hinterkopf habe...
Aber hilft mir momentan auch nicht weiter mit der Listbox und einlesen der Liste ..
Wie kann ich den die Einträge der Reihe nach einlesen in die Listbox...?
Das was ich gefunden habe ist
Code: Alles auswählen
idftp1.List(listbox1.items.add(´*.tsˋ,false));
Kann mir da mal einer bitte helfen
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1645
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: ext. Programme starten (VLC)
Das verstehe ich nicht so ganz. Hast du in Listbox1 eine Liste von Dateiendungen und die sollen dann eine nach der anderen an idftp1.list übergeben werden?reiter hat geschrieben:Guten. Morgen,
Ok gut zu wissen das ich wenn ich mal auf ein neues Lazarus aktualisiere das mit indy im Hinterkopf habe...
Aber hilft mir momentan auch nicht weiter mit der Listbox und einlesen der Liste ..
Wie kann ich den die Einträge der Reihe nach einlesen in die Listbox...?
Das was ich gefunden habe istDa muss ich aber jede Zeile eingeben , was ich aber nicht weiß Wieviele Zeilen in der Liste sind, also müsste das dynamisch gehen..Code: Alles auswählen
idftp1.List(listbox1.items.add(´*.tsˋ,false));
Kann mir da mal einer bitte helfen
Wie liefert Tidftp.list die Ergebnisse?
Re: ext. Programme starten (VLC)
Ja genauso wie Du es geschrieben hast , soll es von statten gehen, ich wollte auch noch mehr Filter setzten wie *.avi und *.mp4 gleichzeitig mit *.ts ...das geht aber auch nicht .
Das einzigste was ich gefunden hatte zu idftp.List war halt das mit der Listbox.
Das Problem ist halt, sobald ich den Filter raus nehme und die Liste größer wird , das da das einlesen abgeschnitten wird. Wie in dem Foto hier im Thread schon gepostet auf der ersten Seite . Das das einlesen irgendwie abgebrochen wird?
Das was ich gefunden habe ist das hier:
https://www.delphi-treff.de/tutorials/n ... et/indy/4/
Das einzigste was ich gefunden hatte zu idftp.List war halt das mit der Listbox.
Das Problem ist halt, sobald ich den Filter raus nehme und die Liste größer wird , das da das einlesen abgeschnitten wird. Wie in dem Foto hier im Thread schon gepostet auf der ersten Seite . Das das einlesen irgendwie abgebrochen wird?
Das was ich gefunden habe ist das hier:
https://www.delphi-treff.de/tutorials/n ... et/indy/4/
Re: ext. Programme starten (VLC)
Die Frage ist also: Wie kann man (mit Indy o.ä.) eine Liste aller *.ts, *.avi,*.mkv, *.mp4-Dateien von einem FTP-Server laden?
Re: ext. Programme starten (VLC)
ja genau...
das beste Beispiel war halt dafür genau das..
Aktuellen Server-Verzeichnisinhalt in Listbox anzeigen
Zum Auslesen eines Verzeichnisinhalts wird die Methode List verwendet, die in verschiedenen Varianten existiert. Am flexibelsten ist die Variante ohne Parameter. Anschließend findet man alle Daten in IdFtp1.DirectoryListing. Dabei handelt es sich um eine Liste von TIdFtpListItems, über die man iterieren kann. Jedes Element besitzt z.B. die Eigenschaft FileName, die man in eine ListBox einfügen kann:
var
I: Integer;
begin
ListBox1.Clear;
if IdFTP1.Connected then
begin
IdFTP1.List();
for I := 0 to IdFtp1.DirectoryListing.Count - 1 do
ListBox1.Items.Add(IdFtp1.DirectoryListing.Items.FileName);
end;
das beste Beispiel war halt dafür genau das..
Aktuellen Server-Verzeichnisinhalt in Listbox anzeigen
Zum Auslesen eines Verzeichnisinhalts wird die Methode List verwendet, die in verschiedenen Varianten existiert. Am flexibelsten ist die Variante ohne Parameter. Anschließend findet man alle Daten in IdFtp1.DirectoryListing. Dabei handelt es sich um eine Liste von TIdFtpListItems, über die man iterieren kann. Jedes Element besitzt z.B. die Eigenschaft FileName, die man in eine ListBox einfügen kann:
var
I: Integer;
begin
ListBox1.Clear;
if IdFTP1.Connected then
begin
IdFTP1.List();
for I := 0 to IdFtp1.DirectoryListing.Count - 1 do
ListBox1.Items.Add(IdFtp1.DirectoryListing.Items.FileName);
end;
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1645
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: ext. Programme starten (VLC)
Genauso sollte das doch funktionieren.
Nur das du das eben für jede Dateiendung separat aufrufen musst.
Ich gehe hier jetzt mal davon aus, daß es ein Memo gibt in dem pro Zeile eine Dateiendung drinsteht also z.B.
*.ts
*.avi
...
Nur das du das eben für jede Dateiendung separat aufrufen musst.
Ich gehe hier jetzt mal davon aus, daß es ein Memo gibt in dem pro Zeile eine Dateiendung drinsteht also z.B.
*.ts
*.avi
...
Code: Alles auswählen
procedure GetFiles;
var i, e : integer;
begin
Listbox1.Clear;
for e := 0 to Memo1.Lines.Count - 1 do
begin
idFTP1.List(Memo1.Lines[e], False);
for i := 0 to idFTP1.DirectoryListing.Count - 1 do
if IdFTP1.DirectoryListing.Items[i].ItemType = ditFile then
ListBox1.Items.Add(idFTP1.DirectoryListing[i].FileName);
end;
end;
Re: ext. Programme starten (VLC)
Na ob das n Memo ist weiß ich nicht, wird halt vom FTP abgefragt.
Und wo deklariere ich in deinem Beispiel die Endung ?
Vielleicht kann ich die Endungen als Variablen deklarieren und so mit aufrufen
Var
A: *.ts;
B: *.mp4;
C: *.avi;
Usw
Bis jetzt habe ich das nur so abgefragt wie hier..
So funktioniert das auch aber halt nur mit einer Endung , mehrere kann ich da nicht einfügen
Und wenn ich die Endung Weg lasse, (*),false; dann wird die Liste wahrscheinlich so groß das ein timeout kommt und das einlesen abbricht.
Den Timeout habe ich auch schon hoch gesetzt, aber kein Erfolg
Gruß
Reiter
Und wo deklariere ich in deinem Beispiel die Endung ?
Vielleicht kann ich die Endungen als Variablen deklarieren und so mit aufrufen
Var
A: *.ts;
B: *.mp4;
C: *.avi;
Usw
Bis jetzt habe ich das nur so abgefragt wie hier..
Code: Alles auswählen
idftp1.List(Listbox1.items '*.ts',fasle);
Und wenn ich die Endung Weg lasse, (*),false; dann wird die Liste wahrscheinlich so groß das ein timeout kommt und das einlesen abbricht.
Den Timeout habe ich auch schon hoch gesetzt, aber kein Erfolg
Gruß
Reiter
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1645
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: ext. Programme starten (VLC)
Ok, ich formuliere es mal um.
Code: Alles auswählen
procedure GetFiles;
var i, e : integer;
Dateiendungen : TStringlist;
begin
Dateiendungen := TStringlist.Create;
try
// Hier befüllen wir die Liste der Dateiendungen mit allen gewünschten Werten
DateiEndungen.Add('*.ts');
DateiEndungen.Add('*.avi');
// usw.
Listbox1.Clear;
for e := 0 to Dateiendungen.Count - 1 do
begin
idFTP1.List(Dateiendungen[e], False);
for i := 0 to idFTP1.DirectoryListing.Count - 1 do
if IdFTP1.DirectoryListing.Items[i].ItemType = ditFile then
ListBox1.Items.Add(idFTP1.DirectoryListing[i].FileName);
end;
finally
Dateiendungen.Free;
end;
end;