| |
|
|
Jac de Lad | Hallöchen, Yo tener veces otra vez ne komplizierte Fräge:
Yo voluntad una Prog escribir, dass geleichzeitig una komplexen Befehl uno DLL startet y aber todavía weiterläuft, va el? Yo habs con el Hilo.pcu intenta, klappt no. Jetzt tener Yo sólo todavía como letzte Rettung, dass el Función el DLL, el Yo aufrufe un hilo kreiert, dieser entonces una otro Función el DLL aufruft, el qué De todos modos komplexes unternimmt y se entonces con un Rückgabewert final (während el komplexe Función todavía werkelt). Das Prog bekommt el Rückgabewert (y el DLL es siempre todavía al werkeln en zweite Función), y kann weitermachen...wisst ihr Yo mi?
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 15.01.2006 ▲ |
|
|
|
|
| Yo denke veces no, el el Speicherverwaltung el Profano-Runtime Hilo sicher es, así el hay viel durcheinander gewirbelt voluntad podría. Zumindestens müßtest Usted CriticalSections (findeste en MSDN) definieren. El DLL arbeitet sí en el Adreßraum Deines Programmes. Speicheradressen ändern se, porque z.B. una String grösser se usw. Kannste lo sí probieren, pero yo denke veces, lo no es sicher trabajo. |
|
|
| |
|
|
|
Jac de Lad | ähä, Yo versteh sólo Bahnhof. Tiempo sehen, tal vez kann Yo el problema irgendwie lösen...
Gracias! Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 15.01.2006 ▲ |
|
|
|
|
| Wenn lo weniger en el Performance angkommt - entonces nutze una neuen Prozess.
Damit el Prozesse kommunizieren puede Tuve el Pipe-Unit Nuevo.
Salve. |
|
|
| |
|
|
|
| Si usted una variable änderst, en Deinem Profano Code, así ändert se evtl. auch el Speicheradresse dieser Variable. Si ahora el Hilo, el auch en Deinem Adressraum abläuft, auch si la Función en uno DLL es, dieselbe Speicheradresse uso, porque él todavía no weiß, el esta vom Hauptprogramm belegt worden es, hay unschöne Effekte, o. Se bloquea. Deshalb muß dafür gesorgt voluntad, el sólo entweder el Hilo o Profano-Runtime una Speicherbereich benutzen. Dafür es Profano pero no ausgelegt. Usted puede also sólo el Speicherbereiche versuchen antes Überschreiben a schützen, eben por CriticalSection y Semaphoren. Lo se also no Funktionieren. Hay en cualquier momento Se bloquea posible. Das puede ser schlecht austesten. |
|
|
| |
|
|
|
| @Thomas: Natürlich hast Usted grundsätzlich bastante - bedenke aber el XProfanprogramme más en uno VM ausgeführt voluntad - lo que el Sache entweder a) schwieriger oder b) einfacher macht.
Yo tendiere a (a+b)/2 lol. Einige Dinge son sicherlich Threadsave - ander hingegen nichtmal con criticalsections absicherbar como dies Roland tun debería. Grundsätzlich glaube Yo Es el PrfRun32.Exe garnicht así muy Threadunsicher.
El Cuestión es hier Entonces, ¿cómo Threadsave es el Delphikompilat PrfRun32.Exe. |
|
|
| |
|
|
|
| [quote:6f14876c3d=iF] El Cuestión es hier Entonces, ¿cómo Threadsave es el Delphikompilat PrfRun32.Exe.[/quote:6f14876c3d] Naja, wahrscheinlich überhaupt no. El Runtime wäre sí como Threadsicheres Kompilat todavía en einiges grösser, sieht uno sí a Threadsicheren Idiomas, wo uno dies Optional ha, z.B. FreeBASIC
Aber con un más Process, el incluso dieselbe Runtime uso kann, y Deiner Pipe-PCU, debería él ser Ziel doch erreichen |
|
|
| |
|
|
|
Frank Abbing | Hi,
el es simplemente a lösen. Usted musst sólo el neuen Tread innerhalb el Dll aufrufen! So öffnet z.B. el ProSpeed Sprite-Función una neuen Hilo y kehrt entonces inmediatamente para Hauptprogramm zurück. Derweil arbeitet el Hilo más, a una Impuls vom Hauptprogramm ihn irgendwann otra vez stoppt/final. Voraussetzung es hier aber el Laden el Dll via UseDll. Externo kann no verwendet voluntad, porque el Dll danach inmediatamente otra vez de el Speicher lejos se. |
|
|
| |
|
|
|
| @Franco: Yo glaub él schreibt no a el DLL - él no puede nix drin aufrufen. |
|
|
| |
|
|
|
Frank Abbing | Dann hay todavía el Möglichkeit, selber una Dll a escribir, welche el fremden Dll-Características aufruft. Also con zwei Dlls a trabajo. |
|
|
| |
|
|
|
| Sobald el Hilo y el Hauptprogramm dieselben Variaben uso, gibts Problemas. Als Ersatz para Timerfunktionen, a Sprite-Bewegung mag lo sí funzen, pero si Daten manipuliert voluntad, es de, como el Zugriff (locking) no gesteuert se, qué en el Falle de Processen de Windows hecho se. Como un hilo sólo una Parámetro entgegen nehmen kann, es una Bearbeitung sólo lokalen Variables kaum posible. In manchen Anwendungsfällen gibts wohl no Problemas, pero si un hilo dazu verwendet se, wofür él como es, el Hauptprogramm de längeren Berechnungen entlasten, entonces va el no, sin una Locking Función. |
|
|
| |
|
|
|
Jac de Lad | @IF + Franco: Doch, el DLL escribir Yo incluso, Yo weiß sólo todavía no, como yo Hilo kreiere...
@all: Mir es heute una simple como wirkungsvolle Solución eingefallen, el mein Problema behebt, aber danke el Ayuda.
@Franco: Hülfe, qué es con dir porque passiert???
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 16.01.2006 ▲ |
|
|
|