Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
20. Jul 2004
Shmia hat Recht. ;)
Deine Aufgabe ist es, das Programm so zu gestalten, dass die Resourcen geschützt werden. Das ist immer so und sollte man auch nie vergessen.
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
20. Jul 2004
Danke shmia! :)
Deine Sünde Nr. 5 kenn ich doch irgendwo her. :lol: ;)
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
20. Jul 2004
Scheifen wir eigentlich grad irgendwie vom Ursprungsthema ab? :gruebel:
Wenn du nie Speicher freigibst und dein programm öfters startest und beendest, dann ist dein Speicher irgendwann mal recht voll. ;)
Deshalb: Speicher immer freigeben.
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
20. Jul 2004
Es ist auf jedenfall ratsam, Resourcenschutzblöcke zu verwenden. Wie der Name schon sagt, sollen diese die Resourcen, sprich den Speicher, schützen.
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
20. Jul 2004
Da braucht nur nen Schreibfehler im Speicher auftreten oder ein anderes Programm greift unerwartet auf die Speicheradresse zu, was bei mir schon vorkam...
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
20. Jul 2004
Es ist immer so, dass man die Dinge, die man ganz sicher freigeben möchte in einen finally-Abschnitt gibt.
Ob du nun mit der Registry arbeitest oder mit Inis, oder auch mit Stringlists...
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
20. Jul 2004
Also deine von oben sicher net, die Resourcenschutzblöcke müssen rein!
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
20. Jul 2004
@Rackergen2: Jo, des war glaub der einzige Fehler. :wink:
@Mirage: Cool! :thumb:
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
20. Jul 2004
Hmm, stimmt, an so einen "Sonderfall" habe ich nicht gedacht.
Nur sollte man noch die Resourcenschutzblöcke einbauen:
function TForm1.CreateAutorunFile(app, icon, destfile: String): boolean;
var
sl: TStringList;
begin
result := true;
sl := TStringList.create;
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
19. Jul 2004
if copy(destfile,length(destfile-4),4)<>'.inf' then destfile:=destfile+'.inf';
Gefällt mir so besser:
if not Pos('.inf', destfile) > 0 then destfile := destfile + '.inf';
Aber das spielt ja auch keine große Rolle. ;)
Edit:
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
19. Jul 2004
Wenn dann noch mit Pos überprüfen, ob eine dateiendung bereits vorhanden ist...
So ist er nicht gut. ;)
Edit: Und s1 wieder freigeben!
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
19. Jul 2004
Ähm, nö, net wirkluich. ;)
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
19. Jul 2004
@onlinehome: Siehe Luckie's oder mein Code oben. ;)
Forum: Object-Pascal / Delphi-Language
Delphi
by Matze,
19. Jul 2004
Strg + F9 :mrgreen:
Spaß beiseite, was für ein Fehler kommt denn?