Logisk Fejl (Nogen gode råd?)

Tags:    delphi

User
Bruger #720 @ 03.01.02 20:21
Jeg er stødt på en grum logisk fejl i mit program...

Når jeg prøver at udføre en bestemt prodecure, for jeg denne her dialogboks, og min project exe svarer ikke:

Project Project1.exe raised exception class EAccessViolation with message 'Access Violation at address 00446425 in module 'PROJECT1.EXE' Read of address 8255D170'. Process stopped. Use step or run to continue.

Er der nogen som ved hvad ovenstående betyder? (Rent volapyk for mig).

Og er der nogen som har et godt råd til hvad man skal gøre, hvis man vil lede efter en (godt gemt) logisk fejl?



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
<quote>Jeg er stødt på en grum logisk fejl i mit program...

Når jeg prøver at udføre en bestemt prodecure, for jeg denne her dialogboks, og min project exe svarer ikke:

Project Project1.exe raised exception class EAccessViolation with message 'Access Violation at address 00446425 in module 'PROJECT1.EXE' Read of address 8255D170'. Process stopped. Use step or run to continue.

Er der nogen som ved hvad ovenstående betyder? (Rent volapyk for mig).

Og er der nogen som har et godt råd til hvad man skal gøre, hvis man vil lede efter en (godt gemt) logisk fejl?</quote>

Delphi fortæller dig faktisk præcist hvor det går galt, nemlig i adresse $446425. Start dit program inde fra Delphi og når det så stopper med denne fejl igen, så prøv at gå ind under det menupunkt i Delphi der hedder "Search", og vælg punktet der hedder "Find Error". I den dialog du får op kan du nu indtaste adressen du får oplyst (husk at det er en hexadecimal adresse). Delphi vil så hopper til det sted i koden hvor det går galt.

Hvis du ikke kan finde ud af det stadigvæk er du nødt til at poste den del af koden hvor problemet er, ellers er der ikke meget at gøre.
---
Thomas
tdue@mail.dk



<quote>Jeg er stødt på en grum logisk fejl i mit program...

Når jeg prøver at udføre en bestemt prodecure, for jeg denne her dialogboks, og min project exe svarer ikke:

Project Project1.exe raised exception class EAccessViolation with message 'Access Violation at address 00446425 in module 'PROJECT1.EXE' Read of address 8255D170'. Process stopped. Use step or run to continue.

Er der nogen som ved hvad ovenstående betyder? (Rent volapyk for mig).

Og er der nogen som har et godt råd til hvad man skal gøre, hvis man vil lede efter en (godt gemt) logisk fejl?</quote>

En access violation vil sige at du forsøger at tilgå noget i memory som ikke er dit. Typisk sker der når man forsøger at bruge et objekt som allerede er nedlagt eller som endnu ikke er blevet oprettet. Da du åbenbart allerede ved hvilken procedure det drejer sig om er det jo bare at komme igang med debuggeren :)



t