Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

2 oder Mehrer Grafikfenster
Gehe zu Seite 1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 24.08.2009, 18:41    Titel: 2 oder Mehrer Grafikfenster Antworten mit Zitat

Hi liebe Community zwinkern

Ich hab eine frage und zwar: ist es realisierbar das ein FB-Proggi 2 oder mehrer FBGrafik Ausgabefenster steuern kann?

Beispiel: Programm.exe öffnet ein Fenster mit 200x300 und eins mit
640x480 und beide lassen sich mit FB bemalen und seperat steuern...

wäre das vllt möglich mit Hilfe von Threads? ich will nicht für jedes Fenster ein Programm schreiben müssen.. denn das kommunizieren der Programme ist mir zu aufwendig...

hoffe jemand hat eine kleine Lösung lächeln

euer d1rty happy h4RrY
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 25.08.2009, 07:21    Titel: Antworten mit Zitat

Nop .. das geht nicht direkt mit FB befehlen. Aber mit API bzw unter linux mit X, ist es möglich das zu tun.


Für X (Linux) hätte ich sogar n beispiel irgen wo rumliegen. für Win jedoch nicht ... da musst du dann wohl direkt mit der CreateWindow-API arbeiten.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 25.08.2009, 09:49    Titel: Antworten mit Zitat

Doch gibbet.. aber nich besonders komfortabel.

Ich muss den link noch mal suchen, aber prinzipiell funktioniert es so:

Man kompiliert eine DLL in der eine Funktion einen Screen aufruft. Diese DLL beinhaltet dann noch funktionen zum Zeichnen ("LINE, CIRCLE, DRAW STRING" etc.. alles nochmal neu programmiert!)

Lädt man nun diese DLL in sein Hauptprogramm und startet die Funktion zum Screen-aufruf kann man ein 2. fbgfx fenster zum Hauptprogramm eigenen öffnen. Dieses 2. Fenster hat aber den großen nachteil das dort nur Funktionen zugriff drauf haben die in der DLL hinterlegt sind.

Diese existierende lösung geht noch einen schritt weiter um mehrere fbgfx-fenster zu öffnen: Zur laufzeit kopiert es diese DLL x-mal ins lokale verzeichnis und öffnet deren kopien und startet dort die entsprechenden funktionen zum aufrufen des Screens.

Großer nachteil: Man kann keine "normalen" fb-grafikanweisungen auf diese fenster anwenden.

Vorteil: Die fenster arbeiten komplett unabhängig voneinander.

Ich glaub das war irgendwo im englischen forum, oder wars gar hier im deutschen!? .. werds bei nächster gelegenheit einfach noch mal suchen lächeln

Sonst googelt einfach mal ein bischen zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbasicfan
gesperrt (Wird das nicht langweilig?)


Anmeldungsdatum: 29.07.2009
Beiträge: 45

BeitragVerfasst am: 25.08.2009, 13:06    Titel: Antworten mit Zitat

Jup, das is ja interessant.

Kannste dazu noch weitere Sachen bringen?
Ein Beispiel?

mfg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 25.08.2009, 14:31    Titel: Antworten mit Zitat

hier hatte ich mal sowas gefragt:
http://forum.qbasic.at/viewtopic.php?t=5261

da war ne antwort von ytwinky aber der link scheint nicht mehr zu funktionieren traurig .. da war der quellcode für genau so ein beispielprogramm!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 27.08.2009, 17:06    Titel: ja cool Antworten mit Zitat

danke leute für die Antworten... also nen einfachen weg scheints wohl nicht zu geben... wär ja mal nen kleiner ansatz für die FB-Entwickler vllt. einen screen ptr aufzuspalten oder das man zb einen zusätzlichen screen ptr(quasi ein neues fenster) definieren kann...

und achja @oneCypher
OneCypher hat Folgendes geschrieben:
Lädt man nun diese DLL in sein Hauptprogramm und startet die Funktion zum Screen-aufruf kann man ein 2. fbgfx fenster zum Hauptprogramm eigenen öffnen. Dieses 2. Fenster hat aber den großen nachteil das dort nur Funktionen zugriff drauf haben die in der DLL hinterlegt sind.

Diese existierende lösung geht noch einen schritt weiter um mehrere fbgfx-fenster zu öffnen: Zur laufzeit kopiert es diese DLL x-mal ins lokale verzeichnis und öffnet deren kopien und startet dort die entsprechenden funktionen zum aufrufen des Screens.


das kommt mir sehr unelegant und langsam vor lächeln aba ziemlich einfallsreich... bloß der Code würde wahrscheinlich ein großes durcheinander werden...

schade das der Link von Ytwinky net mehr geht...
vllt nehm ich doch nen Dateipuffer is zwar elend Laaangsam...
ne schnelle möglichkeit wäre auch noch LokalTCP IP mit Serverfenster und clienten.. aber irgendwie auch nich sehr komfortabel.. lächeln noch andre ideen?

ansonsten danke für die Antworten

euer d1rty durchgeknallt h4RrY
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 27.08.2009, 17:16    Titel: Antworten mit Zitat

Ähm wie wärs mit nem anderen Grafikframework? GLFW, SDL; Es gibt die echt wie Sand am Meer...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 27.08.2009, 17:42    Titel: Antworten mit Zitat

Weil es nicht schlecht wäre, das ohne größere Umstände mit FB machen zu können.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 27.08.2009, 21:39    Titel: Antworten mit Zitat

Es geht _prinzipiell_ mit der fbgfx nativ eben nicht. Es geht _nicht_. PUNKT
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbasicfan
gesperrt (Wird das nicht langweilig?)


Anmeldungsdatum: 29.07.2009
Beiträge: 45

BeitragVerfasst am: 28.08.2009, 11:17    Titel: Antworten mit Zitat

Kennst du dies Programm von D.J.Peters aka Joshy?

Der Link funktioniert nicht mehr. Wer hat zu D.J.Peters noch Verbindung?

Er hat ansatzweise ein Programm geschrieben, wo es funktioniert bzw ist einen Weg dahin gegangen.

Als Hobbyprogrammierer darf man nicht sofort aufgeben und in die Luft springen wie ein HB-Männchen.

mfg
peter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 28.08.2009, 14:58    Titel: Antworten mit Zitat

Och qbasicfan halt doch mal deinen unfähigen Mund. Nicht sofort aufgeben, dass ich nicht lache. Im Vergleich zu dir bin vermutlich sogar ich ein Programmierergott. Zunge rausstrecken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 28.08.2009, 15:23    Titel: Antworten mit Zitat

@qbasicfan: "D.J.Peters" ist im englischen Forum aktiv. --> http://freebasic.net/forum/
Versuche einmal dort zu fragen.

@Mr.(1337)²: Es wäre vl. einmal angebracht wenn du dich etwas freundlicher ausdrücken würdest.

Nachtrag: @Jojo: Achso, ich kenne "qbasicfan" nicht persönlich und mir ist noch nichts Sperr-würdiges aufgefallen.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)


Zuletzt bearbeitet von St_W am 28.08.2009, 15:32, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 28.08.2009, 15:25    Titel: Antworten mit Zitat

Es wäre mal angebracht, Pebi endlich zu sperren.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 28.08.2009, 15:36    Titel: Antworten mit Zitat

D.J.Peters ... hatte ne inc für X geschrieben ... die hab ich auch hier liegen.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
qbasicfan
gesperrt (Wird das nicht langweilig?)


Anmeldungsdatum: 29.07.2009
Beiträge: 45

BeitragVerfasst am: 28.08.2009, 17:05    Titel: Antworten mit Zitat

Das Streitgespräch mit D.J.Peters habe ich hier im Forum gelesen.

Hat einigen nicht gefallen. Aber die Wahrheit muss raus. D.J.Peters ist ein hervorragender Programmierer.

Und mir geht es hier um eine Hilfe und nicht um eine Diskussion.

mfg
peter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 31.08.2009, 08:56    Titel: Antworten mit Zitat

Wer ist Pebi und warum artet das hier grade so aus?.. ich kann gerne mal ein beispiel proggn wo man zumindest 2 fenster ansteuern kann... so schwierig ist es ja nicht ein paar grafik anweisungen in eine DLL zu packen und zu starten...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 31.08.2009, 09:46    Titel: Antworten mit Zitat

So, probiert bitte folgendes mal aus:

Erst die DLL kompilieren (bitte "screenDLL.bas" benennen damit das Hauptprogramm die DLL finden kann!)):
Code:

'FBGFX-2.Fenster (muss kompiliert werden mit fbc -dll -export)

'Ruft einen Screen auf
sub screen2 cdecl alias "screen2"(W as integer, H as integer, D as integer) export
    screenres W,H,D
end sub

'Stellt den inhalt eines Buffers auf dem Screen dar
sub Refresh cdecl alias "refresh"(buffer as any ptr) export
    Put(0,0), buffer,PSET
end sub


Und dann hier das Hauptprogramm (ohne Parameter kompilieren):
Code:

dim i2 as any ptr
dim dll as any ptr
Dim Screen2 as sub cdecl (w as integer,h as integer, d as integer)
Dim Refresh as sub cdecl (buffer as any ptr)

dll = DYLIBLOAD("screenDLL.dll")
screen2 = DYLIBSYMBOL( dll, "screen2" )
refresh = dylibsymbol( dll, "refresh" )

screenres 400,400,32
screen2(300,300,32)
i2 = imagecreate(300,300)
line(0,0)-(400,400),RGB(255,0,0),BF
line i2,(0,0)-(300,300),RGB(0,255,0),BF
refresh(i2)

sleep


Hab im Prinzip einen Umweg benutzt:
Ich erzeuge im Hauptprogramm einen Buffer mit der größe des 2. Fensters.
Dieser Buffer wird dann in der Funktion "refresh" im 2. Fenster dargestellt.

Sonst ist der Code ja noch sehr übersichtlich... aber für fragen bin ich natürlich immer gerne da lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 31.08.2009, 17:36    Titel: Antworten mit Zitat

Nur leider funktionieren Getmouse in Inkey in dem 2. Fenster nicht traurig .. anscheinend wirklich nur gut um was zusätzliches anzuzeigen.. aber vielleicht hat ja noch jemand eine Idee wie man das auch hinbekommt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 31.08.2009, 18:12    Titel: Antworten mit Zitat

OneCypher hat Folgendes geschrieben:
Wer ist Pebi und warum artet das hier grade so aus?.. ich kann gerne mal ein beispiel proggn wo man zumindest 2 fenster ansteuern kann... so schwierig ist es ja nicht ein paar grafik anweisungen in eine DLL zu packen und zu starten...


Das könnte dir die Forensuche beantworten. pebi aka robbifan aka qbasicfan aka atari aka ............ ist ein troll, der hier hausverbot hat und sich trotzdem immer wieder anmeldet.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 31.08.2009, 18:27    Titel: Antworten mit Zitat

ja danke für die Antworten lächeln auch wenn ich kein plan hab was ihr da über pebi qbasicfan oda so faselt aba auch egal...
@oneCypher die idee is eigentlich net schlecht.. und ich vermute mal, dass man jeden Befehl, den das neue (2te) fenster ausführen können soll, mit in die DLL packen muss.. also GetMouse und Inkey oda Multikey halt umgewandelt mit in die DLL oda so das werd ich gleich mal ausprobiern... is aba wie gesagt ziemlich umständlich aba eigentlich immernoch besser als ein Dateibuffer und 2 oder mehr EXEn

euer d1rty lächeln h4rrry
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2, 3  Weiter
Seite 1 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz