Autor Beitrag
MartinPb
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 698



BeitragVerfasst: Sa 18.09.04 10:51 
Ich hab ein altes Programm von mir ausgekramt und und es versucht wieder zu kompilieren. Entwickelt hab ich es auf Delphi 3 und Windows 98. Das Programm machte da keine Progrobleme, weder als Programm selbst, noch wenn ich es in der IDE ausführte. Auch hab ich das Programm unter Windows 2000 kompiliert und auch in der IDE ausgeführt. In all den Fällen hatte ich keine Probleme. Auch hab ich kein Problem, wenn ich es als unter XP unter Delphi 3 oder Delphi 6 kompiliertes Programm ausführe. Progleme hab ich wenn ich das Programm in der IDE unter XP ausführe. Zuerst die Delphi 3 Version. Delphi hängt sich auf. Es nimmt fast das Ganze System mit. Taskmanager aufrufen ist fast unmöglich. Ich muß mein ganzes Können ensetzten, damit ich es wieder zum stoppen bringe und mir mein ganzes Windows nicht abschmiert. Auf jedem Fall ist das ganze System ausgelastet. Manchmal passiert allerdings garnichts. Manchmal klappt es.

Der böse Code ist der:

ausblenden Delphi-Quelltext
1:
while btnCancel.ModalResult = mrNone do XYZ;					


Der Sinn der Zeile ist, daß eine Prozedur permanent ausgeführt werden soll bis Cancel gedrückt wird. Die Prozedur XYZ hat Routinen die den Button btnCancel bei Bedarf = mrCancel setzten. Das ist nicht das Problem. Auch ist Application.ProcessMessages nicht das Problem. Also bitte nicht in falsche Richtung konzentrieren. Damit es einige beruhigt, hab ich XYZ zu einer Dummy Prozedur gemacht:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure XYZ;
begin
  btnCancel.ModalResult := mrCancel;
  Application.ProcessMessages;
end;


Das Problem ist also die Schleife selbst. Unter Delphi 6 bekomme ich diese Fehler-Meldung

Zitat:
Zugriffsverletztung bei Adresse 0045A10F in Modul 'MyProgram.exe'. Lesen von Adresse FFFFFFFF.


Erkennt einer also das Problem?

Wie gesagt, als Programm übersieht das System anscheinend das Problem oder es taucht nicht auf. UNter Delphi 3 gibt es keine Fehlermeldung, aber das Programm hängt sich auf (nur in der IDE). Unter delphi 6 gibt es die Fehlermeldung (nur in der IDE).

Ich hoffe auf kompetente Antworten.

_________________
Gruß
Martin
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Sa 18.09.04 14:19 
An der Schleife kann ich im Moment auch keinen Fehler sehen. Kann das Problem in Deiner XYZ-Procedure liegen? Oder hast Du es schon mit dem Dummy probiert?
MartinPb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 698



BeitragVerfasst: Sa 18.09.04 15:49 
Ja. Auch mit dem Dummy gibt es Probleme.

_________________
Gruß
Martin
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Sa 18.09.04 17:36 
An welcher Stelle steht der Code?
Fehler sieht nach nicht intialsierter Adresse aus. Könnte der Button vom Programm noch nicht generiert sein? Sowas ist mir schonmal im OnCreate der Form passiert.