Random liefert unter WinCE keine Zufallszahlen
Hallo!
Mir ist grad aufgefallen, dass Random unter WinCE keine Zufallszahlen liefert. Ich rufe einmalig beim Programmstart Randomize auf und später dann nach Bedarf Random. Jedoch liefert Random nur beim ersten Mal sowas wie eine Zufallszahl, danach bei jedem weiteren Aufruf exakt die selbe Zahl immer wieder. Auch wenn ich Randomize wiederkehrend aufrufe kommt immer wieder die selbe Zahl. Ich verwende Lazarus 1.2.2 mit FPC 2.6.4 Grüße Cody EDIT: Ich erweitere die Frage mal etwas. So wie es aussieht ist in FPC 2.6.4 generell was kaputt in Sachen Zufallsgenerator. Nicht nur unter WinCE sondern auch unter Win32. Selbst Funktionen wie CreateGUID liefern reproduzierbar immer die selben Resultate. |
AW: Random liefert unter WinCE keine Zufallszahlen
Mit FPC 2.7.1 kann ich dieses Verhalten nicht nachvollziehen, da wird bei jedem ButtonKlick eine neue Zufallszahl erzeugt:
Delphi-Quellcode:
Vielleicht solltest du dir einfach eine neuere Version runterladen.
procedure TFormMain.Button1Click(Sender: TObject);
begin Label1.caption := IntToStr(Random(100)); end; |
AW: Random liefert unter WinCE keine Zufallszahlen
Zitat:
@Codehunter: bist du dir sicher, dass nicht noch irgendwas anderes ständig Randomize aufruft? Oder manuell RandSeed setzt? Ich werd mal schauen, dass ich mit ner 2.6.4 unter Windows teste... Gruß, Sven |
AW: Random liefert unter WinCE keine Zufallszahlen
Zitat:
Zitat:
|
AW: Random liefert unter WinCE keine Zufallszahlen
Kannst du das Problem in einem Testprogramm nachstellen?
Es gibt ja bei Random-Funktionen noch eine Testmodus um definierte Werte zu bekommen. |
AW: Random liefert unter WinCE keine Zufallszahlen
Ich habe gestern noch testweise die 2.7.1 installiert, da gab es keine Probleme. Danach bin ich auf die 2.6.4 direkt von der FPC-Website gegangen, auch keine Probleme. Dann habe ich das Lazarus-FPC-Bundle wie es grad aktuell angeboten wird auf einer blanken Win7-VM installiert und dort hatte ich wieder das Problem. Scheint so als hätte der FPC im Lazarus-Bundle aktuell einen Fehler im Zufallsgenerator. Zumindest bei mir :?:
|
AW: Random liefert unter WinCE keine Zufallszahlen
Zitat:
Zitat:
Delphi-Quellcode:
Ergebnis:
program trandom;
{$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Classes { you can add units after this }, sysutils; var g: TGUID; i: LongInt; begin Randomize; for i := 0 to 10 do Writeln(Random); for i := 0 to 10 do begin CreateGUID(g); Writeln(GUIDToString(g)); end; Readln; end.
Code:
8.8748828531242907E-0001
5.4504207498393953E-0001 8.5692727402783930E-0001 7.1136722411029041E-0001 2.9848789772950113E-0001 3.5603072238154709E-0001 3.0274501489475369E-0001 3.2573854504153132E-0001 9.8834168398752809E-0002 4.4337047683075070E-0001 4.3711891397833824E-0002 {A4AC4F51-B4DB-4DC0-AC3D-6FEBE2CDF337} {F099E6B7-D621-4361-A0DB-BF5F3832C7C7} {AD02E4A2-B51D-4D00-8F54-E73F966A2467} {7B982971-9564-4FCA-8E2B-16EF72BBF643} {2A6FC8E7-6401-4A25-B2B4-5D0671EB6FF2} {C6D0400D-0FA2-4814-8747-F8A6F4DABD2E} {D959A1A7-2707-4D03-B8BC-B3A7FB41E1AB} {5E39A423-352C-4EF5-A055-C67BFC718039} {1FC4D5E0-3A27-441A-9DC9-120C651F6A0C} {A4BE91A4-2342-4A53-A33F-14B76369944C} {F734F2E7-07F1-46E5-A18F-C2BA5B98127A} Zitat:
Falls du bisher die 64-Bit Variante von Lazarus verwendet hast, empfehle ich dir mal die 32-Bit Variante auszuprobieren (für 64-Bit Programme dann einfach den Addon Installer für 64-Bit verwenden). Gruß, Sven |
AW: Random liefert unter WinCE keine Zufallszahlen
Moah... In letzter Zeit habe ich nur so seltsame Fehler gehabt. Erst die Sache mit den doppelten Hochkommas, nun das hier. Heute hat sich mehr oder weniger im Hintergrund eine aktuelle Version von VirtualBox installiert (meine ganzen IDEs laufen mittlerweile in VMs) und seitdem haben sich beide Probleme in Luft aufgelöst. :shock:
Da steckt bestimmt wieder die NSA dahinter. Kann gar nicht anders sein :-D |
AW: Random liefert unter WinCE keine Zufallszahlen
Es beruhigt mich ungemein, dass es kein Problem bei FPC war. :) Vielleicht hatte irgendeiner der Prozessorbefehle bei VirtualBox nen Bug...
Gruß, Sven |
AW: Random liefert unter WinCE keine Zufallszahlen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz