| Autor |
Beitrag |
kuschelfreddy
      
Beiträge: 23
|
Verfasst: Fr 01.05.09 12:38
Hey!
Ich habe mal eine Frage: Und zwar programmiere ich zu Hause mit Delphi 7, in der Schule haben wir aber nur Delphi 5. Deshalb weigert sich der PC in der Schule grundsätzlich, meine Programme zu öffnen, was ziemlich blöd ist, da ich mir so die Arbeit im Prinzip umsonst mache. Deshalb wüsste ich gern, ob es ähnlich wie bei Microsoft Word zB eine Möglichkeit gibt, die Delphi 7 Programme kompatibel zu machen, so dass Delphi 5 sie ohne Probleme öffnet.
Vielen Dank schon mal im Voraus!
LG Nathalie
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Fr 01.05.09 12:58
Solange du nur Standardkomponenten verwendest, sollte es da eigentlich keine größeren Probleme geben.
Die VCL hat sich zwar mit D7 intern stark geändert, aber kompatibel sollte doch das meiste sein.
Was genau gibts denn für Fehler?
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
kuschelfreddy 
      
Beiträge: 23
|
Verfasst: Fr 01.05.09 14:01
Na ja, das größte Prbolem war, dass er es oftmals gar nicht erst abgespielt hat und dann irgendwie der gesamte Quelltext verschwunden war und er einfach nur meinte, geht nicht.
Wenn der doofe Computer dann doch mal einen Quelltext gefunden hat, dann meinte er nur, dieser sei fehlerhaft, hat mir diese Zeile als falsch markiert:
Delphi-Quelltext 1: 2: 3:
| uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; | und erst dann wieder was gemacht, nachdem ich Variants daraus gelöscht habe, aber das Programm lief dann meistens ein zwei Mal und schon war auch wieder Ende. Es ist halt echt n bissl doof, wenn man alles fertig hat und dann gehts nicht =(!
LG Nathalie
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
dummzeuch
      
Beiträge: 593
Erhaltene Danke: 5
Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
|
Verfasst: Fr 01.05.09 20:41
kuschelfreddy hat folgendes geschrieben : | Na ja, das größte Prbolem war, dass er es oftmals gar nicht erst abgespielt hat und dann irgendwie der gesamte Quelltext verschwunden war und er einfach nur meinte, geht nicht.
...
hat mir diese Zeile als falsch markiert:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls;
und erst dann wieder was gemacht, nachdem ich Variants daraus gelöscht habe,
|
Stimmt, die Variants Unit gab es in Delphi 5 noch nicht, das kann man umgehen, indem man fuer Delphi 5 einfach eine leere Unit Variants beipackt, aber ansonsten sollte das meiste funktionieren. Was genau meinst Du mit "gar nicht erst abspielt"?
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Fr 01.05.09 21:31
Zwischen D5 und D7 ist halt wie ein größerer "Schnitt". Delphi meckert beim compilieren - das merke ich, wenn ich D7 nach D5 konvertieren will, ich arbeite gelegentlich mit beiden Versionen.
Er zeigt dir ja an, bei welcher Unit er den Fehler findet. Und diese machst* einfach raus (ich glaub, das sind auch ein paar mehr als nur die Variants).
*also du löschst den Eintrag aus der Uses-Klausel.
Du kannst dir ja gerne selbst ein Programm schreiben, was die Dateien öffnet und anschließend in D5 öffnet.
Ist in der Schule .dpr mit Delphi verlinkt (sollte eigentlich)? Wenn ja, kannst du einfach dein Programm (also nicht das, was du öffnen möchtest, sondern das, womit du die .dpr öffnest) bei der DPR die uses Klausel "parsen". Du suchst alle Units außer Forms raus und öffnest diese hintereinander. Du führst eine Ersetzung mittels StringReplace in dem Bereich von uses bis ; durch:
Delphi-Quelltext
Dasselbe mit den anderen fehlenden Units. Dann wird die veränderte Datei jeweils gespeichert. Anschließend wird die DPR geschlossen und mit ShellExecute() geöffnet. Dann sollte D5 das Projekt auch ohne zu meckern compilieren.
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 01.05.09 21:32
kuschelfreddy hat folgendes geschrieben : | | aber das Programm lief dann meistens ein zwei Mal und schon war auch wieder Ende |
Was heißt das? Startet es nicht mehr, kommt eine Fehlermeldung, schreibst du vielleicht Daten in eine Datei, die einen Fehler bewirken könnten, ...?
Ganz allgemein laufen die Programme, die ich mit Delphi 2006 / Turbo Delphi z.B. schreibe, wunderbar unter Delphi 5, wenn die Unit Variants überall gelöscht oder per Dummy ersetzt ist. Zusätzlich können noch Meldungen zu fehlenden Eigenschaften kommen. OnMouseEnter / OnMouseLeave gab es in Delphi 5 noch nicht zum Beispiel. Da reicht es aber, einmal alle Formulare zu öffnen in Delphi.
Ohne Details zu den Fehlern kann man da kaum etwas dazu sagen. 
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Fr 01.05.09 22:24
1. Die Schule sollte mal ihr Delphi aktualisieren. Da sind selbst wir mit D7 noch moderner (und das ist schon schlimm genug)
2. OnMouseLeave / OnMouseEnter gab es doch aber auch in D7 noch nicht. Daran sollte das Problem nicht liegen.
Aber es stimmt natürlich, mehr Details wären nicht schlecht. Vielleicht auch der Code von einem Programm, damit wir das mal nachvollziehen können.
|
|
|