Autor |
Beitrag |
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Sa 17.04.10 19:50
Hi DF !
Ich habe mal wieder eine Frage zu Delphi Prism:
Wenn ich das Feature des parallel loop anwenden will, bekomme ich eine böse Fehlermeldung - die Syntax müsste aber eigentlich in Ordnung sein:
Delphi-Quelltext 1: 2: 3: 4:
| var Dirs := System.IO.Directory.GetDirectories(fFileName).ToList; [...] for parallel i: Int32 := 0 to Dirs.Count-1 do begin [...] |
Jetzt wirft er mir folgenden Fehler:
Fehler 5 (PE250) "parallel"-Feature benötigen die Parallel Extensions (System.Threading.dll) und die Linq-Bibliotheken (System.Core.dll)
System.Threading konnte ich noch einbinden, aber System.Core hat mein Delphi Prism nicht. Ich hab probiert auf System.Linq auszuweichen, aber das kümmert den Compiler wenig.
Bekommt ihr eine parallel-Scheife zum Laufen?
_________________ Die Lösung ist nicht siebzehn.
|
|
Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Sa 17.04.10 19:55
Du verwechselst Namespaces und Assemblies. Es gibt keine System.Linq-Assembly, nur einen gleichnamigen Namespace in der System.Core.dll (3.5).
Was in deinen uses steht, dürfte für das Feature keine Rolle spielen; Hauptsache, du hast die erwähnten Assemblies als Verweise hinzugefügt.
_________________ >λ=
|
|
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Sa 17.04.10 20:01
Hmm, ich hab mal unter den Verweisen nachgeguckt, und dort war System.Core eingebunden, aber System.Threading nicht.
Ich bin dann auf 'Verweis hinzufügen' gegangen, wo sich ein Fenster mit einer Liste öffnete. In dieser Liste stand diesmal System.Threading nicht drin.
Was soll ich machen?
_________________ Die Lösung ist nicht siebzehn.
|
|
Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Sa 17.04.10 20:19
Auf .NET 4 (und damit VS 2010) upgraden, ist immerhin schon seit ganzen vier Tagen verfügbar .
Wenn du an 3.5 gebunden bist, solltest du eine relativ aktuelle Version des Parallel-Frameworks in Rx finden, offiziell unterstützt wird die allerdings nicht.
_________________ >λ=
|
|
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Sa 17.04.10 20:49
Aber das muss doch auch mit meinen Mitteln funktionieren!
_________________ Die Lösung ist nicht siebzehn.
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 17.04.10 21:00
Du brauchst die System.Threading.dll.
Wo Du die System.Threading.dll herbekommst hat Kha in seinem letzten Posting beschrieben.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Sa 24.04.10 15:48
Hier bin ich noch mal, musste die ganze Zeit in native Delphi programmieren
Ich hab jetzt beide Assemblies eingebunden, er wills aber trotzdem noch nicht fressen.
Mach ich irgendetwas falsch (Screenshot)?
Ich verwende die Rx-Bibliotheken, die Kha angesprochen hat.
Einloggen, um Attachments anzusehen!
_________________ Die Lösung ist nicht siebzehn.
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 24.04.10 15:52
Kannst Du das Projekt (oder besser noch ein minimales Beispielprojekt) mal anhängen, dass ich das bei mir ausprobiere. Denn eigentlich sollte es so gehen
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Sa 24.04.10 16:23
Klar =)
Ist jetzt kein Beispielprojekt, sondern mein aktuelles.
Aber ich erstelle grad ein Beispielprojekt.
Einloggen, um Attachments anzusehen!
_________________ Die Lösung ist nicht siebzehn.
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 24.04.10 16:38
Hm. Also bei mir kompiliert das so. Allerdings habe ich auch eine neuere Version von Prism, vielleicht ist in Deiner ein Bug drin, dass der wirklich die System.Threading.dll aus den ParallelExtensions braucht und die neue aus Rx nicht akzeptiert.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Sa 24.04.10 16:39
Hmm, ich glaub, Latinum bekomme ich nicht
Geht auch mit dem Beispielprojekt nicht, leere Form, ein Button, Assemblies eingebunden und einfache parallele Schleife (siehe Screen)
Einloggen, um Attachments anzusehen!
_________________ Die Lösung ist nicht siebzehn.
|
|
Mitmischer 1703
Beiträge: 754
Erhaltene Danke: 19
Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
|
Verfasst: Sa 24.04.10 16:40
Und woher bekomme ich die ParallelExtensions?
_________________ Die Lösung ist nicht siebzehn.
|
|
Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Sa 24.04.10 17:06
Kha hat folgendes geschrieben : | Auf .NET 4 (und damit VS 2010) upgraden |
Aber da du nun schon Rx runtergeladen hast, ist das eigentlich nicht weiter tragisch, denn for parallel dürfte sowieso nur hauchdünner Syntax Sugar sein. Benutze einfach direkt
Delphi-Prism-Quelltext 1: 2: 3: 4:
| Parallel.For(0, Dirs.Count - 1, -> begin ... end); |
(oder in diesem Fall wahrscheinlich noch besser Parallel.ForEach)
_________________ >λ=
|
|
|