Mit 2. Programm laden [Gelöst]

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Pummelie

Betreff: Mit 2. Programm laden [Gelöst]

BeitragSo, März 07, 2010 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich wollte probieren ob man mit einem 2. Programm Daten laden kann, und diese dann auf einem anderen Programm verwenden kann.
Leider funktioniert das nicht.
Ich habe ein Programm geöffnet was auf eine Variable (per tcp stream) wartet, um das geladene zu Zeichnen, soll heißen, ich habe ein programm was ein Graphics Fenster stellt, und dann auf eine Bildadresse wartet.

Sobalt ich das 2. Programm starte, was das Bild läd und sendet, stürtzt das erste ab, aber nicht mit einer Blitz Fehler meldung, sondern mit: Keine Rückmeldung, oder auch für XP: Programm1.exe hat ein Problem festgestellt und muss beendet werden.
Als Fehlermodul wird das Programm selbst angegeben.

Warum geht das nicht, in der Variable die ich übertrage ist doch die Adresse für den Speicher, das müsste doch gehen oder nicht?

PS: Entschuldigung für meinen Ausdruck, aber ich weiß nicht wirklich wie ich das jetzt erklären sollte Wink
It's done when it's done.
  • Zuletzt bearbeitet von Pummelie am So, März 07, 2010 20:56, insgesamt 2-mal bearbeitet

BladeRunner

Moderator

BeitragSo, März 07, 2010 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht so leider nicht, da jedes Programm seinen eigenen geschützten Adressbereich hat. Zudem ist das Handle einer Bilddatei in Blitz nicht wirklich ein Pointer auf seine Daten.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

ozzi789

BeitragSo, März 07, 2010 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Windows schützt den Zugriff sodass nicht jede Exe in den Speicherbereich von anderen Exen gucken kann, wär ja sicherheitstechnisch schlimm wenn dem so einfach wäre Wink

mfg

edit 2l8
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Pummelie

BeitragSo, März 07, 2010 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch mist, gibt es da sicher nicht, damit ich Adressbereich übergreifend Adressen verwenden kann?

Edit: Danke für die schnellen Antworten, nicht mal 5 Minuten Smile

Edit2: Und weil Ozzi es jetzt mit der Sicherheit erwähnt hat, nein, ich will keinen Virus machen, die machen mir schon genug ärger Evil or Very Mad
It's done when it's done.

ozzi789

BeitragSo, März 07, 2010 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Afaik wäre das mit Blitzmax wäre das möglich (threading)

Vlt willst du uns ja schreiben wieso du das willst, dann können wer ne andere Lösung suchen
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

BladeRunner

Moderator

BeitragSo, März 07, 2010 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Threading von BMax muss man als sehr rudimentär einstufen, fürchte ich.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Pummelie

BeitragSo, März 07, 2010 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau das was Blitz Max kann: Threading
Wenn ich 2 Blitz Programme ausführe kann mein Dual Core voll belastet werden (auf beiden Kernen meine ich)

Mir ist Bewust, das es sowas gibt, bloß leider geht das nicht richtig, oder garnicht.

Edit: Ist das Blitz Max Multi... etwa schlampig umgesetzt?
It's done when it's done.

ozzi789

BeitragSo, März 07, 2010 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Für B3D gibts ja sowas, haben ein paar vom Forum was gebaschelt.
Mit Bmax kriegst du das sicher hin
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Pummelie

BeitragSo, März 07, 2010 20:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Mir ist Bewust, das es sowas gibt, bloß leider geht das nicht richtig, oder garnicht.

Natürlich habe ich es schon ausprobiert, bloß leider nicht wirklich funktionsfähig bei mir Crying or Very sad
It's done when it's done.

BladeRunner

Moderator

BeitragSo, März 07, 2010 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Edit: Ist das Blitz Max Multi... etwa schlampig umgesetzt?

Nahezu keines der Module von Max sind wirklich threadsafe. Beim Laden von Images kann es zu willkürlichen Abstürzen kommen etc. Bislang würde ich über die Brücke noch nicht gehen wollen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Pummelie

BeitragSo, März 07, 2010 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Also besteht für mich wenn ich (stabiles) Multi Threading machen möchte, keine andere möglichkeit als eine andere Sprache als Blitz zu wählen? Sad
It's done when it's done.

BladeRunner

Moderator

BeitragSo, März 07, 2010 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Es kommt drauf an was du erreichen willst. Meine Versuche mit Images waren eher frustran, was nicht heissen muss dass es an den Images / threads gelegen haben muss. Daten hin- und herschieben sollte recht gut funktionieren. Man vergesse auch nicht dass das Threadingzeug noch recht neu in Max ist.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Pummelie

BeitragSo, März 07, 2010 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Au die Tasache hin, das Blitz Max ja noch Erweitert wird, und ich nicht all zu große dinge machen möchte, sage ich mir jetzt mal, das Blitz reicht, und ich nicht von dieser schönen Sprache abgehen muss.

Ich danke Ozzi und BladeRunner für ihre Hilfe.
It's done when it's done.

Xaymar

ehemals "Cgamer"

BeitragSo, März 07, 2010 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst btw Programme im Speicher des ausführenden Programmes laufen lassen. BlitzPlus hat diesen Befehl eingebaut, nur eben ohne den richtigen Flag.
Dort habe ich ähnliches mit Threading versucht. Mehrere Threads im gleichen Programmspeicher geht zwar, ist nur ziemlich unsicher.
Blitz3D/Plus Threading
MSDN: Creating Processes
Warbseite
 

Macintosh

BeitragSo, März 07, 2010 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein problem müsste auch mit shmem -> shared Memory zu lösen sein, denke ich.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group