amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > FileManager asynchrones Kopieren [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- 2 [ - Beitrag schreiben - ]

07.02.2012, 11:55 Uhr

AGSzabo
Posts: 1663
Nutzer
Hi,

aus meinem FileRequester ist optional ein FileManager geworden. Es lassen sich beliebig viele Lister öffnen und Dateien hinüber ziehen. Die müssen jetzt blos noch auch wirklich kopiert werden. Das soll asynchron passieren, sprich, man muss den Lister schließen können, während das Kopieren im Gange ist. Ich dachte, ich mache das so, dass ich die gewählten Dateinamen in ein File in ram:t/ schreibe und dann ein mit Execute() ein shell tool starte, welches die Dateien aus der Liste liest und kopiert. Irgendwie muss ich den Namen der FileListeDatei an das shell tool übergeben, wobei der Name dann einzigartig sein muss. Da weiss ich noch nicht wie ich das effizient mache. Hat jemand eine Idee, oder kann man das alles auch anders, vielleicht viel einfacher haben?

Optional möchte ich eine Progressbar haben. Das geht natürlich nicht, wenn ich "run c:copy" benutze. Oder? Was kann ich da machen?

ags
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ Dieser Beitrag wurde von AGSzabo am 07.02.2012 um 11:58 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 13:33 Uhr

DrNOP
Posts: 4118
Nutzer
Zitat:
Original von AGSzabo:
man muss den Lister schließen können, während das Kopieren im Gange ist.

  • Welchen "den" Lister? Weiter oben hast du geschrieben, daß man beliebig viele Lister gleichzeitig offen haben können soll. Welcher ist dann "der" Lister?
  • Was soll mit dem Kopiervorgang passieren, wenn alle Lister geschlossen werden?
  • Wie stellst du den Fortschritt dar bzw. erinnerst den User daran, daß noch ein Kopiervorgang läuft?

Also um - schlagt mich nicht zu sehr - einen Vergleich mit Windows zu wagen: Dort hängt der Kopiervorgang an dem Explorerfenster, in dem das Ziel geöffnet ist. Also, wenn ich zwei Explorerfenster offen habe, eines zeigt mir C:, das andere zeigt mir D: und ich kopiere eine Datei von C: nach D:, dann kann ich während des Kopiervorgangs das Quell-Fenster (C:) problemlos schließen. Schließe ich dagegen das Ziel-Fenster (D:), wird der Kopiervorgang abgebrochen.

Zumindest ist das für WinXP so.
--
Signaturen mit mehr als zwei Zeilen gehen mir auf den Wecker

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 13:41 Uhr

AGSzabo
Posts: 1663
Nutzer
@DrNOP:

Ich möchte egal welchen meiner Lister schließen können und wenn alle geschlossen werden, bleibt der Fortschrittsdialog offen. Hier bei Ubuntu Linux geht das prima. :)
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 14:49 Uhr

thomas
Posts: 7718
Nutzer
@AGSzabo:

Bisher hast du alles selbst gemacht und jetzt möchtest du eine riesige Krücke basteln, um eine Betriebssystemfunktion zu benutzen, die für deinen Zweck vollkommen ungeeignet ist?

Mach doch einfach einen neuen Prozess, dem du als Startparameter die Quelldatei(en) und das Zielverzeichnis übergibst. Der kann dann den Fortschrittsbalken anzeigen und die Datei(en) kopieren, vollkommen unabhängig von den Dateilistern.

Eine Datei zu kopieren ist ja nun auch nicht so schwierig. Open, Open, Read, Write, Read, Write, Read, Write, Close, Close.


--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 14:54 Uhr

thomas
Posts: 7718
Nutzer
@DrNOP:

Spätestens seit Win7 kann man alle Explorer-Fenster schließen und der Kopiervorgang wird trotzdem fortgesetzt.

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 15:27 Uhr

AGSzabo
Posts: 1663
Nutzer
@thomas:

Ja, stimmt. Das mit dem c:copy sollte bloss für einen ersten Test sein.

Der neue Prozess hat jedoch einen Code, der in der modifyle.library liegt (modifyle: name meines dateimanagers). Um einen Kopierjob auszulösen, wird die Funktion MFJob() aufgerufen, mit genau den Parametern, die Du genannt hast. Die Lib startet einen neuen Prozess, genau wie du beschreibst. Jedoch wurde die Library von irgendwem geöffnet und wird wieder gelschlossen: jeder Lister ist ein eigenes Programm, welches die library benutzt. Ein Lister kann der Library den Auftrag zum Kopieren geben. Wenn aber der Lister geschlossen wird, bedeutet das, die Library wird auch geschlossen. Jetzt hat der Kopierjob keinen Code mehr und Guru.

Naja, vielleicht denke ich zu kompliziert und die Lösung ist ganz einfach?
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ Dieser Beitrag wurde von AGSzabo am 07.02.2012 um 15:29 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 15:45 Uhr

tboeckel
Posts: 124
Nutzer
Zitat:
Wenn aber der Lister geschlossen wird, bedeutet das, die Library wird auch geschlossen. Jetzt hat der Kopierjob keinen Code mehr und Guru.

lib_Close != lib_Expunge

Wenn eine Library geschlossen wird, wird sie nicht zwangsläufig aus dem Speicher geworfen. Und selbst wenn das zu befürchten ist, dann kann dein Prozeß selbst auch die Library öffnen und somit verhindern, daß ihm der Boden unter den Füßen weggezogen wird solange er läuft.

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 15:47 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von thomas:
@DrNOP:
Spätestens seit Win7 kann man alle Explorer-Fenster schließen und der Kopiervorgang wird trotzdem fortgesetzt.

Alle bis auf den mit dem Fortschrittsbalken ;)

Das ist bei Vista auch schon so.


Zitat:
Original von AGSzabo:
@thomas:
Ja, stimmt. Das mit dem c:copy sollte bloss für einen ersten Test sein.

Aber was zum Geier willst Du damit testen? Dass c:copy funktioniert, wissen wir alle schon.
Zitat:
Der neue Prozess hat jedoch einen Code, der in der modifyle.library liegt (modifyle: name meines dateimanagers). …Wenn aber der Lister geschlossen wird, bedeutet das, die Library wird auch geschlossen. Jetzt hat der Kopierjob keinen Code mehr und Guru.
Meine Güte, wie kann man sich nur anstellen. Neuer Prozess, der die Library (deren Code) verwendet == noch jemand, der die Library öffnen und hinterher wieder schließen muss.

Da es Deine eigene Library ist, hast Du es auch selbst in der Hand, ob es zulässig ist, die Library schon vor dem Starten des asynchronen Prozesses zu öffnen und durch den neuen Prozess schließen zu lassen.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 15:52 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von tboeckel:
lib_Close != lib_Expunge

Wenn eine Library geschlossen wird, wird sie nicht zwangsläufig aus dem Speicher geworfen. Und selbst wenn das zu befürchten ist, …

Nonsens-Aussage. Sobald niemand die Library mehr geöffnet hat muss ein ordentlicher Programmierer davon ausgehen, dass sie freigegeben werden kann (es ist „zu befürchten“) und darf sie auf keinen Fall weiter benutzen.

Dass sie unter Umständen nicht sofort freigegeben wird, bedeutet lediglich, dass diese Art von Fehler unter Umständen nicht beim Testen bemerkt wird.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 15:59 Uhr

AGSzabo
Posts: 1663
Nutzer
@Holger:

> die Library schon vor dem Starten des asynchronen Prozesses zu öffnen

Was meinst Du mit "vor dem Start"?


--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 16:04 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von AGSzabo:
Was meinst Du mit "vor dem Start"?

Damit meine ich „vor dem Start“.

Irgendwann startest Du den asynchronen Prozess und genau bevor Du das tust, ist davor.

Alles, was innerhalb des neuen Prozesses passiert, geschieht logischerweise nach dem Start.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 16:05 Uhr

DrNOP
Posts: 4118
Nutzer
@AGSzabo:
Und schon wieder habe ich eine Frage:
Es kann wohl nicht der komplette Code in der Library liegen, oder? Sonst kriegst du nie einen Lister geöffnet, weil du niemanden hast der die Library öffnet, richtig?

In diesem Fall sollte vielleicht der Lister, der den Kopiervorgang auslösen will, einen Prozeß starten der seinerseits die Library öffnet und für seine eigenen Zwecke benutzt.
--
Signaturen mit mehr als zwei Zeilen gehen mir auf den Wecker

[ - Antworten - Zitieren - Direktlink - ]

07.02.2012, 16:16 Uhr

AGSzabo
Posts: 1663
Nutzer
@DrNOP:

> Es kann wohl nicht der komplette Code in der Library liegen, oder?

Ja, darüber zerbreche ich mir schon den ganzen Tag den Kopf. Der Lister muß einen Prozess starten dürfen, der ihm selber garnicht gehört. Sondern der Lib.

Der Aufrufer des Jobs bietet dem Job eine Liste mit den files die kopiert werden sollen. Die müsste der Job dann aber selber wieder frei geben. Das schmeckt mir nicht.

Und für den Fall, dass der Aufrufer Resultate des Jobs sehen will, bräuchte er wohl ein Handle, dass er nur selber wieder frei geben kann, also AllocJob() -> Job() -> FreeJob(). ?

--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ Dieser Beitrag wurde von AGSzabo am 07.02.2012 um 16:33 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

08.02.2012, 22:15 Uhr

NoImag
Posts: 1050
Nutzer
Zitat:
Original von AGSzabo:
Der Aufrufer des Jobs bietet dem Job eine Liste mit den files die kopiert werden sollen. Die müsste der Job dann aber selber wieder frei geben. Das schmeckt mir nicht.


Wo ist da das Problem? Der Job macht sich eine Kopie der Liste mit der er arbeitet und die er dann natürlich auch selbst freigibt. Der Aufrufer kann in der Zwischenzeit mit der ursprünglichen Liste machen was er will, z.B. freigeben.

Tschüß


[ - Antworten - Zitieren - Direktlink - ]

08.02.2012, 22:33 Uhr

AGSzabo
Posts: 1663
Nutzer
@NoImag:

Die Liste kann 8000 Einträge haben. Vielleicht übergebe ich die ganze Liste als einen Speicherblock, die Liste als MemPool zu machen hat sowieso Vorteile.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ - Antworten - Zitieren - Direktlink - ]

14.02.2012, 11:27 Uhr

AGSzabo
Posts: 1663
Nutzer
hi,

das asynchrone Kopieren funktioniert jezt super. Man kann den Filebrowser schließen und es kopiert weiter (bzw verschiebt oder löscht). Nun hat sich folgendes Problem ergeben:

WENN der Browser am Ende des Kopiervorgangs noch offen ist, DANN update die darin angezeigte Liste.

Dazu hatte ich eigentlich das dos-notify angedacht, das funktioniert aber jetzt trotz eigenem Port nur für die Ramdisk (siehe docs).

Der Browser könnte dem Kopierprozess einen Hook anbieten, der aufgerufen wird, wenn der Vorgang beendet ist. Aber woher weiß der Prozess dass der Browser noch offen, und sein Code noch da ist?

Ich habe mir einige Konstrukte mit Semaforen überlegt, aber bin auf keinen ganz grünen Zweig gekommen. Hat jemand eine Idee?

ags
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ - Antworten - Zitieren - Direktlink - ]

14.02.2012, 19:46 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von AGSzabo:
Aber woher weiß der Prozess dass der Browser noch offen, und sein Code noch da ist?

Zum Beispiel über einen public MessagePort. Man validiert die Port-Adresse direkt bevor man die Nachricht verschickt. Ist der Port zu diesem Zeitpunkt nicht mehr in der Liste, gibt es den Empfänger offensichtlich nicht mehr.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

14.02.2012, 19:57 Uhr

AGSzabo
Posts: 1663
Nutzer
@Holger:

Ja, so Spielchen sind interessant. Der Port bräuchte einen Namen und den müsste man finden. Der Port würde einem Prozess gehören, der der Filerequester-Zentrale gehört, vergleichbar mit dem Prozess, der die dos-notifys entgegennimmt.

Eine etwas andere Variante ist mir noch eingefallen. Ich habe dem GUI-system - der Filerequester ist ein Klasse davon (ok, der sinn davon ist diskutabel) - die Möglichkeit hinzugefügt, dass eine Klasse neben dem Dispatcher auch Funktionen haben kann ... eine davon ist UpdateDir(dir). Die Klasse kennt ihre Instanzen und kann die Listen wenn sie life angezeigt werden, reloaden.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ - Antworten - Zitieren - Direktlink - ]

14.02.2012, 20:08 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von AGSzabo:
…die Möglichkeit hinzugefügt, dass eine Klasse neben dem Dispatcher auch Funktionen haben kann ... eine davon ist UpdateDir(dir). Die Klasse kennt ihre Instanzen und kann die Listen wenn sie life angezeigt werden, reloaden.

Die Idee, dass man auch eine unbenutzte Klasse aus dem Speicher entfernen könnte, ist Dir offenbar bisher nicht gekommen, oder? ;)

Dann hast Du nämlich wieder exakt dasselbe Problem.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

14.02.2012, 20:17 Uhr

AGSzabo
Posts: 1663
Nutzer
@Holger:

Doch, ist mir gekommen. Darum lockt die modifyle.library die klasse indem sie die explizit öffnet, ohne auf die instanz zu vertrauen.

Das Freigeben von unbenutzen Klassen war schon seit der ersten Version unterstützt. ;)

--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ Dieser Beitrag wurde von AGSzabo am 14.02.2012 um 20:19 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

15.02.2012, 10:53 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von AGSzabo:
Doch, ist mir gekommen. Darum lockt die modifyle.library die klasse indem sie die explizit öffnet, ohne auf die instanz zu vertrauen.

Und handelt es sich bei dieser Library nun um den Kopierprozess, der herausfinden will, ob es noch einen zu aktualisierenden Browser gibt?

Ich seh bei Dir nicht mehr so ganz durch.

Wenn derjenige, der möglicherweise vorhandene Instanzen aktualisieren will, erst mal die Klasse lockt, um dann herauszufinden, ob es überhaupt Instanzen gibt, ist das Ressourcenverschwendung. Das könnte sogar bedeuten, dass eine bereits freigegebene Klasse wieder geladen wird, nur um herauszufinden, dass sie eigentlich nicht benutzt wird.
Zitat:
Das Freigeben von unbenutzen Klassen war schon seit der ersten Version unterstützt. ;)
Funktioniert nur nicht, wenn eine Library einen permanenten Lock auf die Klasse hält…

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

15.02.2012, 13:05 Uhr

AGSzabo
Posts: 1663
Nutzer
@Holger:

Der Kopierprozess ist Teil der Modifyle Library. Er wird aus einem Callback-Hook heraus gestartet, der am FileRequester/Browser/Manager hängt.

Die Filer-Klasse wird nicht erst gelockt, wenn geschaut wird, ob noch Instanzen da sind, sondern sie wird geöffnet gehalten, solange die Kopier-Library auch offen ist. Die Klasse ist 10172 Bytes groß.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ Dieser Beitrag wurde von AGSzabo am 15.02.2012 um 13:06 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

17.02.2012, 18:53 Uhr

DrNOP
Posts: 4118
Nutzer
Zitat:
Original von thomas:
@DrNOP:

Spätestens seit Win7 kann man alle Explorer-Fenster schließen und der Kopiervorgang wird trotzdem fortgesetzt.

Stimmt, bei XP auch ... weiß der Henker, wo ich gesehen habe daß es abgebrochen wird. Ist vielleicht erst mit SP3 dazugekommen? Keine Ahnung ... :dance3:
--
Signaturen mit mehr als zwei Zeilen gehen mir auf den Wecker

[ - Antworten - Zitieren - Direktlink - ]

17.02.2012, 19:36 Uhr

Thore
Posts: 2266
Nutzer
Ja das war bei XP so daß das Explorer Fenster geblockt wurde.

[ - Antworten - Zitieren - Direktlink - ]

18.02.2012, 12:57 Uhr

AGSzabo
Posts: 1663
Nutzer
Bei mir funktioniert es jetzt wonderbra. Hat jemand Lust es sich an zu schauen? http://aminet.net/package/util/wb/modifyle ... bitte um Kommentare und Meinungen.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ - Antworten - Zitieren - Direktlink - ]

11.06.2013, 12:28 Uhr

tbone
Posts: 99
Nutzer
Einen frischen File-Requester Ersatz, finde ich eine gute Idee!.. o)

Der Screenshot der im Aminet-Readme verlinkt ist, zeigt jedoch keine Stringgadgets um direkt Pfad und Dateinamen reinkopieren zu können, bei Filerequestern ein Must-Have - meiner Meinung.

Ist das also ein "aktueller" Screenshot?! Ja, ich weiß der Thread hat schon ein bisschen Staub.. o)

Würdest Du im Notfall nochmal den Devpac oder was Du benutzt anwerfen ?!.. o)

[ - Antworten - Zitieren - Direktlink - ]

11.06.2013, 12:34 Uhr

AGSzabo
Posts: 1663
Nutzer
@tbone:

Och, das ist alt. Der Screenshot ist nicht richtig. Das String Gadget ist schon da. Ich weiß nicht ob ich daran nochmal was weiter mache. Sollte aber so wie es ist funktionieren.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ Dieser Beitrag wurde von AGSzabo am 11.06.2013 um 12:35 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

12.06.2013, 11:27 Uhr

tbone
Posts: 99
Nutzer
Habe ich gestern getestet.. o)

Auf meinem A1240/40 mit Mediator/Radeon9200 ist Modifyle leider jedoch sehr langsam und das Interface relativ nervös. Es gibt auch *kein* StringGadget für Pfad/Filename - hast Du Dich falsch erinnert ?!.. o)

Das GUI sieht aber sehr frisch aus und gefällt (wieso kam früher noch niemand auf die Idee, die Geräte links aufzulisten ?!). Musste man sich das erst vom Explorer zeigen lassen ?! o)

Und wieso hast Du das mit Deiner eigenen Gagdet-Library gebaut? Ich vermute mal, weil Du Spass dran hattest ?! o) Die ist aber auch noch nicht ganz ausgereift, oder ?! Gewissermaßen schade.. o)

[ - Antworten - Zitieren - Direktlink - ]

12.06.2013, 11:37 Uhr

AGSzabo
Posts: 1663
Nutzer
@tbone:

Ja, ich hatte viel Spaß dran. Ich weiß dass das Gadget das sein kann, wenn man ein bestimmtest Flag setzt im Programm. Welches, das müsst ich erst aus wieder heraus finden. ;)

Anfangs lief die gadget lib auch auf einem a500, dann kamen aber „tolle“ neue funktionen hinzu ... und es war nur noch in der Emulation schnell (dort wirklich!).

... ausgereift ist die nicht, auch da hast du recht.

Übrigens habe ich mir den GUI Aufbau von Ubuntu Linux abgeschaut. Es ist schade dass es nicht voll funktioniert weil es eigentlich noch keine richtige Alternative gibt auf dem Amiga.

Leider sehe ich für mich persönlich derzeit keinen Sinn darin, den Requester und die Gadget Lib weiter zu entwickeln. o)
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.

[ - Antworten - Zitieren - Direktlink - ]

12.06.2013, 13:14 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Hm.. du musst doch den Prozess nicht beenden, der den FileLister anzeigt. Er kann doch weiterlaufen bis alles kopiert ist und dann beenden. Alternativ schreibe dir doch einen "copy" Befehl, der einen Requester mit Fortschrittsanzeige öffnet. Dann ist es komplett unabhängig von dem ListView Prozess. Allerdings kannst du dann schwieriger Kopieranfragen queuen. Am besten machst du das mit zwei Threads. Einer für die GUI, und eine Command-Queue, wo die GUI commandos reinstellen kann, die dann synchron (aber asynchron zur GUI) abgearbeitet werden. Wenn der FileLister geschlossen wird, dann wird desssen Fenster geschlossen, aber die Command Queue kann zu Ende abgearbeitet werden und auch eine Fortschirttsanzeige kann weiter laufen.




--
--
Author of
NTUI, AIDE, A/A++, HD-Rec, MacroWave, Sweeper, Samplemanager, ArTKanoid, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ImageConverter, ScreenCam, AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ Dieser Beitrag wurde von Der_Wanderer am 12.06.2013 um 13:15 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]


-1- 2 [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > FileManager asynchrones Kopieren [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.