Autor |
Beitrag |
gerd8888
      
Beiträge: 205
Erhaltene Danke: 3
Win7
Delphi 10.1 Starter (kostenlos) Lazarus
|
Verfasst: So 06.04.14 20:33
Hallo,
ich habe in Delphi 2009 ein Programm geschrieben und es unter Win 7 compiliert.
Es läuft unter allen Win-Versionen.
Das einzige besondere an dem Programm, dass es mit einer stringliste eine 32M Datei oeffnet.
Ferner wird benutzt: der Tmediaplayer und wav Dateien.
Wie ermitteln man jetzt eine angemessene Systemvoraussetzung, die auch wirklich stimmt.
alle Win-Versionen werden unterstützt, kann man doch nach wie vor angeben?
Gerd
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 06.04.14 21:24
Dass Windows 2000 mindestens erforderlich ist, kann man durchaus hinschreiben, auch wenn das nicht viele betreffen dürfte.
Aber wenn du einmal auf neuere Delphiversionen umsteigst, musst du dann ohnehin z.B. mindestens XP mit SP3 angeben, insofern ist so eine Minimalangabe nicht schlecht.
Zudem würde ich stets die höchste getestete Version mit angeben.
|
|
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 06.04.14 21:27
@gerd8888:
Wenn du mit 32M Datei eine Datei mit der Größe von 32 Megabyte meinst, dürfte das heutzutage kaum noch an irgendwelche Grenzen stoßen.
|
|
gerd8888 
      
Beiträge: 205
Erhaltene Danke: 3
Win7
Delphi 10.1 Starter (kostenlos) Lazarus
|
Verfasst: Mo 07.04.14 16:51
Wenn ich folgendes schreibe:
Systemvoraussetzung:
ab Win 2000
1-GHz-Prozessor oder höher mit 32 Bit (x86) [aber nich 64 Bit (x64)]
1 GB RAM (32-Bit) oder mehr
1-2 GB verfügbarer Festplattenspeicher (32-Bit) für das Programm
ist das dann so korrekt?
Gerd
|
|
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 07.04.14 17:38
Kann ich nicht beurteilen, ich kenne deine Anwendung ja nicht. Seltsam ist aber doch, daß dein Programm nicht auch auf einem 64-Bit-Windows laufen kann ...
|
|
gerd8888 
      
Beiträge: 205
Erhaltene Danke: 3
Win7
Delphi 10.1 Starter (kostenlos) Lazarus
|
Verfasst: Mo 07.04.14 21:17
Dass das Programm nicht unter Win 64-Bit läuft habe ich jetzt nur vermutet, da ich es doch auf einem 32 Bit Computer compiliert habe.
Läuft das also auch unter 64 Bit ?
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 07.04.14 21:22
Solange du nicht Assembler nutzt oder irgendetwas Exotisches ja.
1 GHz kann übrigens alles sein, schnarchlangsam oder schön schnell. Das ist schon lange kein echtes Maß mehr... das war bis vor etwa 10 Jahren mal so...
|
|
Mathematiker
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mo 07.04.14 21:23
Hallo,
gerd8888 hat folgendes geschrieben : | Läuft das also auch unter 64 Bit ? |
Ich weiß ja nicht, was für spezielle Programmiertricks Du nutzt, aber meine Delphi 5(!)-Programme laufen alle absolut problemlos unter Win64.
Dann wird Dein Delphi 2009 das wohl auch "hinbekommen". Testen würde ich es aber schon. Du wirst doch jemanden kennen, der ein 64bit-Windows hat.
Beste Grüße
Mathematiker
|
|
Lemmy
      
Beiträge: 792
Erhaltene Danke: 49
Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
|
Verfasst: Mo 07.04.14 21:23
gerd8888 hat folgendes geschrieben : |
Wie ermitteln man jetzt eine angemessene Systemvoraussetzung, die auch wirklich stimmt.
|
VMWare oder VirtualBox installieren, WIndows drauf und dann kannst Du mit dem zugewiesenen Speicher herumspielen und kannst dann selbst entscheiden, wie viel Speicher mind. vorhanden sein muss um die Software noch bedienen zu können.
Grüße
|
|
gerd8888 
      
Beiträge: 205
Erhaltene Danke: 3
Win7
Delphi 10.1 Starter (kostenlos) Lazarus
|
Verfasst: Mo 07.04.14 22:34
Assembler nutze ich nicht. Wenn das delphi 5 unter win-64 läuft, wird es meins auch können. Ausprobieren kann ich es auf einem win-64 allerdings nicht.
Kenne niemanden. (Ich habe auch keinen Freund, der mit Delphi programmiert) Bin immer auf die Hilfe von Internet und Foren angewiesen.
Ich frage mich ob das überhaupt noch zeitgemäß ist eine mind. Systemvoraussetzungsangabe ? Wer arbeitet heute noch mit einem Betriebssymstem, dass älter ist als Win XP.
Ich füge dann zu meinen obigen Angaben (auch win64) hinzu.
Habe das Programm unter freeware hier schon mal vorgestellt:
mega.co.nz/#!KIMkUSy...1w9MXC9ilBHDmzvI4oN0
Gerd
|
|
Mathematiker
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mo 07.04.14 22:59
Hallo,
gerd8888 hat folgendes geschrieben : | Habe das Programm unter freeware hier schon mal vorgestellt:
... |
Ich grüble seit ein paar Minuten schon und komme nicht dahinter: Was soll denn das Programm können? Wozu braucht man es?
Und es braucht eine 32MB-Stringliste? Und es ist fast 100 MB groß?
Ich verstehe es nicht.
Wenn ich es (vor einem Download!) wüsste und vor allem, wenn es mir das System nicht verändert, könnte ich es ja unter Win7-64 bit und Win8.1-64 bit testen.
Hat es etwas mit dem Schachprogramm www.entwickler-ecke....p;highlight=gerd8888 zu tun?
Beste Grüße
Mathematiker
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 07.04.14 23:22
Da ist nichts Besonderes dran, außer dem stark gewöhnungsbedürftigen Design. Deshalb startet das Programm problemlos unter Win 8.1 64-Bit und lässt sich auch problemlos mit XE5 kompilieren.
Falls du Tipps möchtest:
Wie man es bedient, habe ich leider nicht auf die Schnelle herausgefunden, konnte es also nicht direkt testen. Toolbuttons ohne Hint sind übrigens eine gute Idee, zumindest, wenn man gerne raten möchte...
Die Hilfe habe ich gefunden, aber gerade keine Zeit mir das groß durchzulesen. Intuitiv wäre besser.  Aber je nachdem was alles möglich ist, ist das natürlich nicht immer ganz einfach, das ist klar.
Was den Quelltext angeht, so ist der nach der automatischen Formatierung ja gut lesbar. Nicht so gut ist, dass du überall innerhalb des eigenen Formulars die globale Variable für das Formular nutzt. Sobald du das Formular zweimal erzeugst, steht da logischerweise nur eine der beiden Instanzen drin. Das heißt du greifst von beiden Formularen aus auf das zu, das in der Variablen steht. Nicht so sinnvoll, oder?
Lösung: Self statt Form1 nutzen, das ist die eigene Klasse, in der du gerade bist, also in dem Fall die aktuelle Formularinstanz, in der du dich befindest.
|
|
gerd8888 
      
Beiträge: 205
Erhaltene Danke: 3
Win7
Delphi 10.1 Starter (kostenlos) Lazarus
|
Verfasst: Di 08.04.14 12:24
Mathematiker, der Link stimmt. Nur diesmal kann man es sauber downloaden. Ein zip-file.
Was die grosse Datei angeht: In der datei.txt stehen alle meine Daten drin. Und die ist eben so gross.
Das sind die gesammelten Problemschach-Dateien.
Warum die exe Datei 1,5 MB benoetigt, weiss ich auch nicht.
Jaenicke, das Design habe ich mir ausgedacht. Man kann den Hintergrund und die Bretter sowie Figuren auswählen.
Sollte also so schlecht nicht sein. Die Umsetzung geht vielleicht immer besser.
Das hört sich doch gut an, wenn es sich problemlos unter XE5 compilieren laesst.
Das mit den Buttons, da kann ich ja noch einen Hint einfügen.
Ich habe die globale Variablen machen müssen, weil ich es in einer anderen unit benoetige. Z.B. das Spielfeld muss global sein.
Was Du mit self form1 meintest, weiss ich nicht.
Gerd
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Di 08.04.14 15:16
gerd8888 hat folgendes geschrieben : | Was Du mit self form1 meintest, weiss ich nicht. |
Self bezieht sich immer auf die eigene Instanz, in der die Methode ausgeführt wird. Form1 hingegen bezieht sich immer auf die Instanz, die in der globalen Form1-Variablen hinterlegt ist. Wenn Du also mehrere TForm1-Instanzen erzeugt hast, greifst Du ggf. auf die falsche zu.
|
|
gerd8888 
      
Beiträge: 205
Erhaltene Danke: 3
Win7
Delphi 10.1 Starter (kostenlos) Lazarus
|
Verfasst: Fr 11.04.14 20:41
heisst das mit anderen Worten: Wenn ich nur die globalen Variablen benoetige rufe ich die form1 besser nur mit self auf ?
Wenn dem so ist, werde ich das umschreiben. Bisher rufe ich es mit aufgerfuen:
Delphi-Quelltext
muss ich die ganze form1 unit
Delphi-Quelltext 1:
| form1 := Tform1.create(self) |
umgestalten?
Habe mit self noch nicht gearbeitet.
|
|
WasWeißDennIch
      
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Sa 12.04.14 15:48
Mal ein Beispiel, kleine Klasse:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| type TDummy = class private FDingens: string; public constructor Create(ADingens: string); procedure ShowDingens; end;
var Dummy1: TDummy;
...
constructor TDummy.Create(ADingens: string); begin inherited Create; FDingens := ADingens; end;
procedure TDummy.ShowDingens; begin ShowMessage(Self.FDingens); ShowMessage('Dummy1: ' + Dummy1.FDingens); end; |
Nun erstellen wir 2 Instanzen davon:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TSabbelSuelz.MachDingens; var Dummy2: TDummy; begin Dummy2 := nil; Dummy1 := TDummy.Create('Dummy1'); try Dummy2 := TDummy.Create('Hallo Welt'); Dummy1.ShowDingens; Dummy2.ShowDingens; finally Dummy1.Free; Dummy2.Free; end; end; |
Die Show-Dingens-Methode funktioniert auf diese Weise nur solange, wie in Dummy1 (also der globalen Variablen) auch eine gültige Instanz hinterlegt ist, ansonsten knallt es mit einer AV raus. Darüberhinaus würde man ja in den seltensten Fällen innerhalb einer Methode die Daten einer ganz bestimmten benannten Instanz der entsprechenden Klasse bearbeiten wollen, sondern doch meist die der derjenigen, innerhalb deren Methode man sich gerade befindet.
Die globalen Formular-Variablen erstellt Delphi nur deshalb, weil sie zur automatischen Formularerzeugung gebraucht werden. Soll das entsprechende Formular erst dynamisch zur Laufzeit erstellt werden, kann man diese Variable auch löschen.
|
|
gerd8888 
      
Beiträge: 205
Erhaltene Danke: 3
Win7
Delphi 10.1 Starter (kostenlos) Lazarus
|
Verfasst: Sa 12.04.14 16:26
Danke für das Beispiel.
Ich werde es mir einmal in Ruhe ansehen.
Z.Z. brummt mein Kopf, aber nächste Woche sehe ich mir das an.
|
|