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

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

1 2 3 -4- 5 6 7 8 9 >> Letzte Ergebnisse der Suche: 1662 Treffer (30 pro Seite)
AGSzabo   Nutzer

12.02.2012, 23:24 Uhr

[ - Direktlink - ]
Thema: rekursives Verzeichniskopieren
Brett: Programmierung

@inq:

Der Jemand im bösen Indien kann doch auch kein Patent auf allgemein bekanntes Wissen machen, oder hab ich dich mißverstanden? Ich meine, was ich nicht kann, kann/darf er auch nicht. Aber um das mal zu trennen:

- meine Hitomi-Methode ist spätestens seit dem Erscheinen meines Buches als mein geistiges Eigentum gesichert.

- was ich an sonstens programmiere gibts sowieso schon alles irgendwie

- das ganze linux ubuntu gnome etc IST quelloffen und noch nie hat es damit patentwitze gegeben ... oder?

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

12.02.2012, 22:59 Uhr

[ - Direktlink - ]
Thema: rekursives Verzeichniskopieren
Brett: Programmierung

@inq:

Gibts bei Software neulich Patente? Mir wurde mitgeteilt ich könne meine "Hitomi-Methode zur Darstellung von in die Tora hinein kodierten Bildern" und das Programm dazu NICHT patentieren lassen. Aber notariell hinterlegt habe ich alles was ich in meinem Buch jetzt schließlich geschrieben habe. Urheberrechte gelten davon unabhängig.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.
 
AGSzabo   Nutzer

12.02.2012, 22:06 Uhr

[ - Direktlink - ]
Thema: rekursives Verzeichniskopieren
Brett: Programmierung

@inq:

Ach es wird doch überall so viel geredet über alles Mögliche. Warum nicht auch hier? Ich würde mir mehr Fragen auch von anderen Leuten wünschen, dann könnte ich mein Wissen weiter geben. Es ist auffällig wenn immer wieder bloß ich hier als Fragender auftrete. Andernfalls würdest Du es garnicht bemerken. Ich will kein Eigenbrötler sein und kein einsamer Spitzenreiter, sondern mich über meine Interessen und Fortschritte ganz normal und offen mitteilen wie bei jedem anderen Hobby auch. Ich glaube wir arbeiten zusammen: my code is your code. Und wenn einer etwas - wenn auch nur moralische - Unterstützung braucht, dann bin ich gerne bereit es zu geben. Bei mir ist das so, dass ich oftmals erst dann das Problem sehe, wenn ich darüber spreche, bzw schreibe. Und warum sollte das ein Selbstgespräch sein. Was ist das für eine Austausch-Plattform, wenn man bloß gesagt bekommt: mach es selbst. Ich, es fällt mir echt auf, bin hier fast der Einzige, der Programmierfragen stellt. Wäre das nicht so, gäbe es keine Verwunderung darüber, das glaube ich. Man sieht im AmiNet und auf Amiga-News bloß immer, wer wann welches tolles Programm geschrieben hat, aber davon abgesehen scheint das eigentliche Programmieren davon jedem seine Privatsache und "geheime Kunst" zu sein, das gefällt mir nicht ...

ags

ps: wenn Du wüsstest, was ich alles hier NICHT frage. Was ich hier Frage ist alles andere als "jeder Schritt". Du siehst nur die Spitze des Eisbergs! :D
--
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 12.02.2012 um 22:10 Uhr geändert. ]
 
AGSzabo   Nutzer

12.02.2012, 17:37 Uhr

[ - Direktlink - ]
Thema: rekursives Verzeichniskopieren
Brett: Programmierung

Gelöst!

Ich habe mir jetzt vor dem Selbstaufruf das Ende des gegenwärtigen Zielpfades gemerkt und danach wieder restoriert. Das Ende muß erst gesucht werden. Das gefällt mir nicht ganz, aber jetzt geht es prima..


code:
move.l	d_destpathbuffer(a7),d2
		; store current end of path

		move.l	d2,a0
.find_loop	tst.b	(a0)+
		bne	.find_loop

		push	a0

		bsr	recursive_copy

		; restore end of path

		pop	a0
		clr.b	-(a0)

		bra	.dir_loop




Auf zum nächstens Schritt. :)

--
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 12.02.2012 um 17:38 Uhr geändert. ]
 
AGSzabo   Nutzer

12.02.2012, 16:56 Uhr

[ - Direktlink - ]
Thema: Bedingungen im Initcode einer Library
Brett: Programmierung

@jolo:

Ok. Soll ich nun im Open so lange warten bis Init ausgeführt wurde, oder mein Nachladen in Open machen?

Wenn ich es im Open code mache, wird die Lib im Fall eines Fehlers nicht entfernt, oder? Muss/darf ich dass dann genauso selber machen wie in Close/Expunge?

--
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 12.02.2012 um 17:11 Uhr geändert. ]

[ Dieser Beitrag wurde von AGSzabo am 12.02.2012 um 17:14 Uhr geändert. ]
 
AGSzabo   Nutzer

12.02.2012, 15:28 Uhr

[ - Direktlink - ]
Thema: rekursives Verzeichniskopieren
Brett: Programmierung

Analyse hat ergeben:

Bild: http://images.quicktunnels.net/bac.png

Wenn es unter dem Verzeichnis "test" nur b, a und c gibt, funktioniert es. Sobald in b das Verzeichnis b_a erstellt wird, wird aus dem ganzen Baum das, was rechts abgebildet ist.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.
 
AGSzabo   Nutzer

12.02.2012, 14:09 Uhr

[ - Direktlink - ]
Thema: rekursives Verzeichniskopieren
Brett: Programmierung

@Thore:

Ich verstehe nicht was Du mit "unabhängig" meinst, mache ich doch so, dass meine routine - die sich selbst auf ruft - am Anfang einen Zielfpfad und das CurrentDir erhält. Dazu noch den Namen des zu kopierenden Objekts im CurrentDir. Das kann eine File sein aber auch ein Verzeichnis.
--
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 12.02.2012 um 14:10 Uhr geändert. ]
 
AGSzabo   Nutzer

12.02.2012, 00:05 Uhr

[ - Direktlink - ]
Thema: rekursives Verzeichniskopieren
Brett: Programmierung

@Thore:

> Ist es ein File, wird es mit seiner Verzeichnisstruktur kopiert. Ist es ein Verzeichnis, wird die rekursive Funktion einfach selbst aufgerufen.

Mache ich ja so. Ich blick nicht durch warum es trotzdem nicht geht, ist wohl ein Fehler in der Umsetzung.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.
 
AGSzabo   Nutzer

11.02.2012, 22:55 Uhr

[ - Direktlink - ]
Thema: rekursives Verzeichniskopieren
Brett: Programmierung

Huhu,

meine Routine zum rekursiven kopieren eines Files oder Verzeichnisses samt Inhalt und Subdirs funktioniert nicht richtig. Es werden zwar alle Dateien und Verzeichnisse kopiert, aber Subdirs einer Ebene landen alle ineinandner statt nebeneinander. Kann mir jemand in Pseudocode oder C oder als Erklärung schreiben wie man da vor geht (ausführlich, mit Aufruf der Amiga-Funktionen Examine(), ExNext() usw)? Oder meine Asm Routine korrigieren. Der Ausgangspunkt soll ein Filename oder Verzeichnisname sein. Dann wird entschieden, ob ein File zu kopieren oder ein Verzeichnis zu erstellen ist (Examine) ...

code:
recursive_copy	; (we are in source dir)

		; d1 object name, may be dir or file
		; d2 destpathbuffer (with path in it)

	STRUCTURE	d,0
		APTR	d_objectname
		APTR	d_objectlock
		APTR	d_destpathbuffer
		APTR	d_fib
		APTR	d_newdirlock
		APTR	d_olddir
		LABEL	d_SIZEOF

		lea	-d_SIZEOF(a7),a7

		move.l	d1,d_objectname(a7)
		move.l	d2,d_destpathbuffer(a7)

		move.l	dosbase(pc),a6

		moveq	#DOS_FIB,d1
		moveq	#0,d2
		jsr	_LVOAllocDosObject(a6)
		move.l	d0,d_fib(a7)
		beq	.free_locals

		move.l	d_objectname(a7),d1
		moveq	#ACCESS_READ,d2
		jsr	_LVOLock(a6)
		move.l	d0,d_objectlock(a7)
		beq	.free_fib

		move.l	d0,d1
		move.l	d_fib(a7),d2
		jsr	_LVOExamine(a6)
		tst.l	d0
		beq	.unlock

		; add name part to destpath/

		move.l	d_destpathbuffer(a7),d1
		move.l	d_fib(a7),a0
		lea	fib_FileName(a0),a0
		move.l	a0,d2
		move.l	#PATHBUFFER_SIZE,d3
		jsr	_LVOAddPart(a6)

		move.l	d_fib(a7),a0
		tst.l	fib_DirEntryType(a0)
		bge	.dir

		; file

		move.l	d_fib(a7),a0
		move.l	fib_Size(a0),d3
		lea	fib_FileName(a0),a0
		move.l	a0,d1
		move.l	d_destpathbuffer(a7),d2

		bsr	copy_file
		bra	.rempart

.dir		; makedir in dest dir

		move.l	d_destpathbuffer(a7),d1
		jsr	_LVOCreateDir(a6)
		move.l	d0,d_newdirlock(a7)
		beq	.rempart

		; change into source dir

		move.l	d_objectlock(a7),d1
		jsr	_LVOCurrentDir(a6)
		move.l	d0,d_olddir(a7)

		; loop through dir entries

.dir_loop	move.l	d_objectlock(a7),d1
		move.l	d_fib(a7),d2
		jsr	_LVOExNext(a6)
		tst.l	d0
		beq	.if_end

		move.l	d_fib(a7),a0
		lea	fib_FileName(a0),a0
		move.l	a0,d1
		move.l	d_destpathbuffer(a7),d2

		bsr	recursive_copy

		bra	.dir_loop

.if_end

		; change into old dir

		move.l	d_olddir(a7),d1
		jsr	_LVOCurrentDir(a6)

		; unlock new dir

		move.l	d_newdirlock(a7),d1
		jsr	_LVOUnLock(a6)

.rempart	move.l	d_destpathbuffer(a7),d1
		jsr	_LVOFilePart(a6)
		move.l	d0,a0
		clr.b	(a0)

.unlock		move.l	d_objectlock(a7),d1
		jsr	_LVOUnLock(a6)

.free_fib	moveq	#DOS_FIB,d1
		move.l	d_fib(a7),d2
		jsr	_LVOFreeDosObject(a6)

.free_locals	lea	d_SIZEOF(a7),a7
		rts


Ich ahne der Fehler besteht darin, dass man aus einem Zielverzeichnis an der richtigen Stelle wieder raus gehn muss. Verschiedene Versuche das zu lösen haben bei mir aber nicht funktioniert.

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 11.02.2012 um 23:32 Uhr geändert. ]
 
AGSzabo   Nutzer

11.02.2012, 15:21 Uhr

[ - Direktlink - ]
Thema: Bedingungen im Initcode einer Library
Brett: Programmierung

@geit:

Aha. Warum funktioniert das Öffnen aus dem Initcode heraus, wenn ich es aus der oxmaster.library direkt mache? Wenn ich die oxmaster.library widerum aus einer anderen library öffne, nur dann geht es nicht.

Was soll ich mit der Semaphore locken? Nur damit meine Library nicht zweimal parallel geöffnet wird?

Ich programmiere das in assembler. "Libbase in der Libbase selbst" verstehe ich nicht.

ags


ps: jezt funktioniert es so wie du es beschrieben hast. Ich frage mich blos nach wie vor warum es erst beim indirekten Öffnen nicht funktioniert hat und wozu ich die Semafore brauche...

--
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 12.02.2012 um 00:00 Uhr geändert. ]
 
AGSzabo   Nutzer

11.02.2012, 12:57 Uhr

[ - Direktlink - ]
Thema: Bedingungen im Initcode einer Library
Brett: Programmierung

@jolo:

Danke, also ausgeführt wird der Initcode nur 1x. Er ist nicht in der Open-Funktion, sondern in der Initfunktion. Oder kann es sein, dass der Initcode aus irgendwelchen Gründen nochmal aufgerufen wird? Ich bin auch schon den Initcode in Trace durch gegangen, da wird nach jedem Call, der Festplattenzugriffe aus löst, genug lang gewartet, bis er fertig ist. Oder nicht? Ich meine, vor dem Aufruf von GetIconTagList() z.B. hätte das Programm nach OpenLibrary(icon.library) im Trace Modus lang genug warten, tut es aber nicht, sondern stürzt in der Funktion ab. Es sieht - nach den Registerinhalten - ganz so aus als würde der Programcounter negativ relativ zur Addresse 0 stehen, als ob der library-base Zeiger zum Zeitpunk es Aufrufes von der Funktion 0 gewesen wäre. Aber durch die Open Funktion, welche die Iconlibrary öffnet, war ich zu dem Zeitpunkt schon durch, die hat da auch schon den richtigen Basezeiger zurückgeliefert.

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 11.02.2012 um 13:02 Uhr geändert. ]

[ Dieser Beitrag wurde von AGSzabo am 11.02.2012 um 13:12 Uhr geändert. ]
 
AGSzabo   Nutzer

10.02.2012, 23:00 Uhr

[ - Direktlink - ]
Thema: Bedingungen im Initcode einer Library
Brett: Programmierung

Hi,

ich habe eben merkwürdige Erfahungen beim initialieren meiner modifyle.library gemacht. Diese soll im Initcode die oxmaster.library öffnen und letztere soll für sich ein icon laden und das colorwheel gadget öffnen. Die oxmaster.lib tut noch viel mehr, öffnet andere libs. Aber unter den beschriebenen Umständen stürzt GetIconTagList() und OpenLibrary(colorwheel.gadget) ab. Woran könnte das liegen? Wenn ich die oxmaster.library direkt öffne, dann geht es. Das einzige, was diese beiden aufrufe gemeinsam zu haben scheinen ist, dass sie etwas von platte laden. Wenn ich die oxmaster.library aus irgendeiner Funktion der modifyle.library öffe, dann geht alles. Nur aus dem Initcode heraus kommt es zum Absturz.

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 10.02.2012 um 23:03 Uhr geändert. ]

[ Dieser Beitrag wurde von AGSzabo am 10.02.2012 um 23:15 Uhr geändert. ]
 
AGSzabo   Nutzer

08.02.2012, 22:33 Uhr

[ - Direktlink - ]
Thema: FileManager asynchrones Kopieren
Brett: Programmierung

@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.
 
AGSzabo   Nutzer

07.02.2012, 16:16 Uhr

[ - Direktlink - ]
Thema: FileManager asynchrones Kopieren
Brett: Programmierung

@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. ]
 
AGSzabo   Nutzer

07.02.2012, 15:59 Uhr

[ - Direktlink - ]
Thema: FileManager asynchrones Kopieren
Brett: Programmierung

@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.
 
AGSzabo   Nutzer

07.02.2012, 15:27 Uhr

[ - Direktlink - ]
Thema: FileManager asynchrones Kopieren
Brett: Programmierung

@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. ]
 
AGSzabo   Nutzer

07.02.2012, 13:41 Uhr

[ - Direktlink - ]
Thema: FileManager asynchrones Kopieren
Brett: Programmierung

@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.
 
AGSzabo   Nutzer

07.02.2012, 11:55 Uhr

[ - Direktlink - ]
Thema: FileManager asynchrones Kopieren
Brett: Programmierung

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. ]
 
AGSzabo   Nutzer

06.02.2012, 13:27 Uhr

[ - Direktlink - ]
Thema: DOS NotifyRequest
Brett: Programmierung

@thomas:

Der Notification Handler Prozess benutzt die Dos Library tatsächlich, zwar nur für CreateNewProc(). Ich denke, das sollte es gewesen sein, danke!
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.
 
AGSzabo   Nutzer

06.02.2012, 13:10 Uhr

[ - Direktlink - ]
Thema: DOS NotifyRequest
Brett: Programmierung

@thomas:

Meinst Du wirklich? Was sind die Dos Packets? Mit "nr-messages" meine ich die Notify-Messages. Nur die kommen am Port an. Oder ist da noch was anderes, was da an kommt? Irgendwelches anderes DOS Zeugs?
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.
 
AGSzabo   Nutzer

06.02.2012, 12:49 Uhr

[ - Direktlink - ]
Thema: DOS NotifyRequest
Brett: Programmierung

@thomas:

Unberührt. Da kommt nur die nr-message an. Ich warte aber nicht mit WaitPort(), sondern mit Wait(), um noch ein quit signal zu erhalten.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.
 
AGSzabo   Nutzer

04.02.2012, 10:44 Uhr

[ - Direktlink - ]
Thema: DOS NotifyRequest
Brett: Programmierung

Hallöchen,

was ist das für ein Fehler und wann/waraum tritt der auf:

code:
#define AN_AsyncPkt	0x07000004 /* Unexpected packet received */


Ich habe zwei meiner Filerequester offen, jeder von einem anderem Prozess aus, und einen weiteren Prozess in Hintergrund, der die Dos-Notifikationen annimmt und an die Filerequester verteilt. Aber wenn beide Filerequester das selbe Dir anzeigen und der Hintergrundprozess demnach zufolge zwei pfadisch und messageportisch identische NotifyRequests hat, gibt es beim anlegen eines neuen Eintrages im angezeigten Dir den obigen Fehler. Unter os 4.1 tritt dieses Problem nicht auf, nur auf classic systemen. Kennt da jemand ein Mittelchen? IMO ist diese ganze Dos Notifikationssache unter 3.1 noch nicht ganz ausgereift...

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 04.02.2012 um 10:51 Uhr geändert. ]
 
AGSzabo   Nutzer

03.02.2012, 15:00 Uhr

[ - Direktlink - ]
Thema: Workbench Process Seglist
Brett: Programmierung

@Thore:

Programm startet von der Workbench aus. Es startet dann selber einen neuen Prozess und möchte sich selbst wieder beenden, während aber sein Code für den neuen selbstgestarteten Prozess im Speicher bleiben soll.
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.
 
AGSzabo   Nutzer

03.02.2012, 10:03 Uhr

[ - Direktlink - ]
Thema: Workbench Process Seglist
Brett: Programmierung

Hi,

ich habe es nötig, aus einem Shell Kommando heraus meinen eigenen Prozess zu starten, wobei ich die Rechte an meinem Kommando-Code diesem Prozess übertrage, sprich dass die Seglist des Kommandos beim zurückkehren NICHT freigegeben wird, sondern erst wenn der neue Prozess endet. Das geht schon, und zwar über den Zeiger cli_Module, den man löscht (und vorher da die Seglist ausliest um sie später mit UnloadSeg frei zu geben).

Das gleiche möchte ich nun von einem Prozess erreichen, der von der Workbench gestartet wird. Ich weiß, das ist dann schon ein selbstständiger Prozess, aber ich brauche dann nochmal meinen eigenen, der einen anderen Namen haben soll. Also während der von der Workbench gestartete Prozess sich wieder beendet, soll der Code für den daraus gestarteten Prozess im Speicher bleiben. Mit der Shell klappt das ja und ich möchte wissen, ob das auch von der WB aus möglich ist.

Ich habe es bisher so gehandhabt, dass ich die Startupmessage erst zurück sende, wenn auch der neu gestartete Prozess endet. Das funktioniert aber unter OS 4.1 nimmer!

danke,
Andreas

--
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 03.02.2012 um 10:17 Uhr geändert. ]
 
AGSzabo   Nutzer

01.02.2012, 09:38 Uhr

[ - Direktlink - ]
Thema: Dateiname rüber ziehen, wie?
Brett: Programmierung

@Der_Wanderer:

Ok, so ein File Notify kann ich einbauen, aber hmm ... anderer Fall: ich habe eine Booksmarks-Liste für den Schnellzugriff auf Verzeichnisse oder Assigns. Wenn ich ein dir da hinein dragge, wird es darin angezeigt - wenn es das selbe fenster ist wie die drag-quelle. Aber wenn es ein andres Fenster ist? Gar von einem anderen Task? Wann wird das refresht und vom wem? Es müsse alle offenen Lister aufgefrischt werden.
--
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 01.02.2012 um 09:38 Uhr geändert. ]

[ Dieser Beitrag wurde von AGSzabo am 01.02.2012 um 09:40 Uhr geändert. ]
 
AGSzabo   Nutzer

01.02.2012, 07:59 Uhr

[ - Direktlink - ]
Thema: Dateiname rüber ziehen, wie?
Brett: Programmierung

Folgendes Szenario:

Ein File Eintrag wird aus einem Requester in den anderen verschoben, ich meine jetz mal Kopieren. Ein dritter Filerequester ist offen, der das selbe Directory zeigt. Ich kann es zwar machen, daß dann der Eintrag jedem mit diesem Directory offenen Filerequester eingetragen wird, also dem Zielrequerster und dem dritten offenen. Aber wie kann ich es machen, dass dann alle Fenster refresht werden? Das Refresh-Bit funktoniert ja nur für das Objekt, das im Quellfenster manipuliert wurde. Ich kann zwar auch für Objekte in andren Fenstern das Refresh-bit (dirty bit) setzen, aber die andren Fenster kommen da bei mir noch nicht dran! Auch aus Performenace Gründen. Und wenn die sogar zu einem anderen Task gehören?
--
Author of Open eXternal User Interfaces, eXternal Format Rippers and the Book "Torakosmos". Developing with E-UAE on an Ubuntu dualcore system.
 
AGSzabo   Nutzer

31.01.2012, 21:38 Uhr

[ - Direktlink - ]
Thema: Dateiname rüber ziehen, wie?
Brett: Programmierung

@Der_Wanderer:

Zitat:
Passt das dragID zu dem dropID eines anderen Objektes, dann kann man Drag&Drop machen und der Mauspfeil kann das auch gleich anzeigen. Das eine Objekt bekommt dann ein "Drag" Event, das andere ein "Drop" Event, und der User kann dann entscheiden was er damit tut.

Ich habs etwas auf gebohrt: ein gedraggtes etwas hat immer 1 ID, aber eine dropzone kann mehrere IDs akzeptieren. Das entscheidet der User in einem Hook. Von einem Programm ins andere funktioniert auch schon. :)

Man muss blos aufpassen, dass keine ID doppelt vergeben wird.
--
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 31.01.2012 um 21:41 Uhr geändert. ]
 
AGSzabo   Nutzer

31.01.2012, 11:10 Uhr

[ - Direktlink - ]
Thema: Dateiname rüber ziehen, wie?
Brett: Programmierung

@Holger:

Nein, war mir nicht klar. Es ist aber nicht unmöglich und ich werde es hin bekommen. Bisher funktioniert mein D&D fast nur bis auf dieses Feature ausgezeichnet. Etwas anderes, was mir auch noch nicht klar ist, ggf. müssen mehrere Fenster refresht werden, die zu verschiedenen Tasks gehören können ...

ps: ich habe das highliten hinbekommen :)


HALT, stop mal, unter OS4.1 funktioniert es nicht, sonst schon. weiss jemand, was da im Grafiksystem evtl anders ist und was ich noch berücksichtigen muss?


KORRIGIERE: einmal layer gelockt und schon gehts auch unter os4.1! Da hat wohl jemand gemeint er darf in mein fenster malen. :) :)


--
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 31.01.2012 um 20:45 Uhr geändert. ]
 
AGSzabo   Nutzer

29.01.2012, 12:27 Uhr

[ - Direktlink - ]
Thema: Dateiname rüber ziehen, wie?
Brett: Programmierung

@Der_Wanderer:

Zu Punkt 7: ich werde kein Icon verwenden, sondern einen beliebigen Inhalt in Form von beliebigen GUI Elementen. Du kannst im Rrinzip dann auch einen ganzen Button ziehen oder ein Wort Text.

Zu 1: das Objekt gibt den Auftrag zum Ziehen an das Fenster weiter, dann brauche ich es nicht in jede Klasse, die ziehbar sein soll mit einzubauen. Popwindows sind schießlich auch eine Unterfunktion des Fensters (und können auch beliebige Elemente beinhalten).

Zu 4: kein einmaliges DropAttempt, sondern ein fortwährendes Draging mit Mauskoordinaten und id. Damit kann sich ein Zielobjekt hevorheben, wenn die Maus mit dem gezogenen Inhalt darüber ist.

--
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 29.01.2012 um 12:44 Uhr geändert. ]
 
AGSzabo   Nutzer

28.01.2012, 20:07 Uhr

[ - Direktlink - ]
Thema: Dateiname rüber ziehen, wie?
Brett: Programmierung

Ich glaube ich habe eine praktikable Lösung für alles hier gefunden. Im Moment bin ich mir aber noch nicht sicher, ob ich das Zielfenster, wenn es unter der Maus ist, aktivieren soll (???). Welche vor und Nachteile hätte das für den User?

Wenn nicht, kann das Draging vom Quellobjekt ausgeführt werden, bis zum Ende, ich meine, das Quellobjekt kann dann dafür sorgen, beim loslassen der Mautaste das Icon wieder verschwinden zu lassen.

Wenn das andere Fenster doch aktiviert werden soll, muss zuerst das Quellfenster das Draging übernehmen und dann an das Zielfenster übergeben... welches es wieder weiter gibt, wenn WhichLayer() ein andres Fenster festgestellt hat. Ich hoffe man versteht mich.

Man könnte aber auch das Draging immer dem Quellfenster überlassen, damit das Draging nicht extra in jede dragfähige Klasse eingebaut werden muss. aber ohne das Zielfenster zu aktivieren wenn die Maus darüber ist.

Ferner sollte man natürlich in jedem Fall prüfen, ob das Fenster unter der Maus kompatibel ist. Bei mir ginge das über wd_Userdata -> windowobject -> magic matchword at offset $abc. Ich weiss aber nicht, ob das ggf. probleme machen kann, zu einem illegalen Speicherzugriff führen könnte?

--
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 28.01.2012 um 20:25 Uhr geändert. ]
 
 
1 2 3 -4- 5 6 7 8 9 >> Letzte Ergebnisse der Suche: 1662 Treffer (30 pro Seite)

Suchbegriffe
Schlüsselwörter      Benutzername
Suchoptionen
Nur in diesen Foren suchen
   nur ganze Wörter
Nur Titel anzeigen
alle Treffer anzeigen

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