AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung...

Ein Thema von Nightfighter · begonnen am 9. Dez 2003 · letzter Beitrag vom 10. Dez 2003
Antwort Antwort
Seite 1 von 2  1 2      
Nightfighter

Registriert seit: 10. Mai 2003
6 Beiträge
 
#1

Fehlermeldung...

  Alt 9. Dez 2003, 21:41
Also folgende Fehlermeldung tritt auf: Exception der Klasse EAccessViolation ist aufgetreten. Zugriffsverletzung bei Adresse 0041.... in Modul Project1.exe . Schreiben von Adresse 000005F38.

und hab bis jetzt den fehler nach stundelangem suchen nicht gefunden.... könnt ihr mir ca. sagen was da falsch lief?
thx im voraus!!

cu NIghtFighter
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Fehlermeldung...

  Alt 9. Dez 2003, 21:46
Greifst du auf ein O=bjekt zu welches nicht mehr existiert? Läuft eine Schleife über die array-Grenzen hinaus?

Zeig mal den Code, wo das apssiert, sonst können wir hier nur rumraten.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nightfighter

Registriert seit: 10. Mai 2003
6 Beiträge
 
#3

Re: Fehlermeldung...

  Alt 10. Dez 2003, 19:19
hmm sorry das ich nicht mehr geschrieben hab. Also ich hab nen Server und der soll anfragen annehmen (Indy Komponente). Beim ersten Connect des Clienten ist alles ok. wenn man dann aber disconnectet und nachher wieder connectet gibts genau diesen fehler
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#4

Re: Fehlermeldung...

  Alt 10. Dez 2003, 19:36
das klingt nach dem, was Luckie schon gesagt hat. Zerstörst du vielleicht beim disconnect ein Object, das bei Erstellen der Form erstellt wird, aber nicht beim connecten?
Oder hast du irgend einen Zähler, der verwendet wird, und beim zweiten Durchlauf irgend ein array überschreitet?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Fehlermeldung...

  Alt 10. Dez 2003, 19:38
Wie Luckie schon sagte: Ein bisschen Code wäre nicht schlecht ...

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Nightfighter

Registriert seit: 10. Mai 2003
6 Beiträge
 
#6

Re: Fehlermeldung...

  Alt 10. Dez 2003, 19:59
okok war einfach zu faul sorrrry!
Delphi-Quellcode:
procedure TServer.tcpServerConnect(AThread: TIdPeerThread);
var Client:Tclient;
begin
Client.IP := Athread.Connection.Binding.PeerIP;
Client.Name := 'Connected';
Client.ListLink := Form1.Listbox1.items.Count;
Client.Thread := Athread;
Athread.Data := Client;
Clientsliste.Add(Client);
listbox.Items.Add('asdf');
Athread.Connection.WriteLn(Welcmsg);
end;

procedure TServer.tcpServerDisconnect(AThread: TIdPeerThread);
var Client:TClient;
begin
  Client := @AThread.Data;
  Memofeld.Lines.Add(Client.Name + ' hat uns verlassen');
  Clientsliste.Delete(Client.ListLink);
  Listbox.Items.Delete(Listbox.Items.IndexOf(Client.Name));
  Client.Free;
  AThread.Data := nil;
end;
so das wärs... hoffentlich kann mir jemand helfen
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 17. Aug 2002
178 Beiträge
 
#7

Re: Fehlermeldung...

  Alt 10. Dez 2003, 20:12
wie ist TClient definiert? Müsste nicht Speicher reserviert bzw das Objekt erstellt werden?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Fehlermeldung...

  Alt 10. Dez 2003, 20:42
du kannst nicht einfach
client.free
machen.
schließlich gibst du damit einen teil des speichers frei der bei TidTCPServer.Create (oder wie das object auch immer heißt) angefordert wird. Nach dem dein onDisconnect ausgeführt ist arbeitet die klasse ja eigentlich weiter, nur geht das nicht korrekt weil du schon einen teil des speichers freigegeben hast
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 17. Aug 2002
178 Beiträge
 
#9

Re: Fehlermeldung...

  Alt 10. Dez 2003, 20:47
@SirThornberry: Client ist doch ne lokale Variable. Sie muss in tcpServerConnect mit Client:=TClient.Create erstellt werden, damit sie in tcpServerDisconnect freigegeben werden kann.
  Mit Zitat antworten Zitat
Nightfighter

Registriert seit: 10. Mai 2003
6 Beiträge
 
#10

Re: Fehlermeldung...

  Alt 10. Dez 2003, 21:35
so allso um noch etwas konkreter zu werden...
ich kann zwar ne stop marke beim connect hinsetzen, aber er gibt mir schon vorher nen fehler aus, und kapier wirklich nicht warum
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz