AGB  ·  Datenschutz  ·  Impressum  







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

Spaltenweise auf TStringList zugreifen

Ein Thema von aaaaaaaaaa_10 · begonnen am 27. Jul 2009 · letzter Beitrag vom 30. Jul 2009
Antwort Antwort
Seite 6 von 8   « Erste     456 78      
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#51

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 13:36
Habs hinbekommen. Also er meckert an jeder Stelle, wo Zeilenanzahl aufgerufen wird.
z.b.
if Zeilenanzahl = Sek.Count -1 then exit;
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#52

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 14:43
Woran kann das liegen? Hab ich die Property falsch deklariert?oder etwas vergessen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#53

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 14:48
Bitte nicht vor Ablauf von 24 Stunden pushen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#54

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 16:22
Eine Zugriffsverletzung bekommt man meißtens wenn man etwas nicht erstellt hat:
Das hier geht wunderbar
Delphi-Quellcode:
Meins := TStringList.Create;
try
  // Mit "Meins" arbeiten
  // z.B. eine Zeile hinzufügen
  Meins.Add('Hallo Welt');
finally
  Meins.Free;
end;
Während das hier zur einer AV (= Accessviolatuion = Zugriffsverletzung) führt:
Delphi-Quellcode:
try
  // Mit "Meins" arbeiten
  // z.B. eine Zeile hinzufügen
  Meins.Add('Hallo Welt'); // <!--- Hier knallt es, weil "Meins" nicht erstellt wurde
finally
  Meins.Free;
end;
Ich tippe mal darauf (ausgehend von dem Codestück aus dem Post #47), dass Sek nicht erstellt wurde.
Könntest du uns vielleicht mal etwas mehr Code zeigen? Also alles bis zum Exit dürfte erstmal reichen.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#55

Re: Spaltenweise auf TStringList zugreifen

  Alt 30. Jul 2009, 06:21
Ok, also bis zum xis sieht das so aus:

Delphi-Quellcode:
procedure ZehnMinTimerEvent(Sender: TObject);
var
  Sek, Min, ZwSpeicher : TStringList;
  DreiSek, ZehnMin: string;
  TabPos, Spaltenanzahl, linenum : integer;
begin
  DreiSek := extractfilepath(application.exename)+'Mom3sek_'+Kennung+'.txt';
  ZehnMin := extractfilepath(application.exename)+'Mom10min_'+Kennung+'.txt';
  TestDatei := TFileStream.Create(ExtractFilePath(application.exename)+'test.txt',fmOpenReadWrite);
  TestDatei.Seek(0, soFromEnd);
  Sek := TStringList.Create;
  Min := TStringList.Create;
  ZwSpeicher := TStringList.Create;

  try
    Sek.LoadFromFile(DreiSek);
    if Zeilenanzahl = Sek.Count-1 then exit;
Zeileananzahl habe ich als property deklariert und da wird auch irgendwo der Knackpunkt sein. Sek wurde bereits erstellt. (u.a. in #20 sichtbar)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#56

Re: Spaltenweise auf TStringList zugreifen

  Alt 30. Jul 2009, 06:31
Zitat von aaaaaaaaaa_10:
Delphi-Quellcode:
procedure ZehnMinTimerEvent(Sender: TObject);
var
Moment mal...
Das müsste doch eigentlich eine Methode einer Klasse sein, wie sonst kannst du auf die Eigenschaft Zeilenanzahl zugreifen? Und sonst ginge das auch gar nicht als Timer-Ereignis. Das kann so also eigentlich nicht der originale Code sein, wenn sich das kompilieren lässt.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#57

Re: Spaltenweise auf TStringList zugreifen

  Alt 30. Jul 2009, 06:42
procedure ZehnMinTimerEvent(Sender: TObject); ach gott, nee da steht eigentlich

procedure TMomFiles.ZehnMinTimerEvent(Sender: TObject);
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#58

Re: Spaltenweise auf TStringList zugreifen

  Alt 30. Jul 2009, 06:47
Ich hatte mich nur gefragt, ob du sonst beim Kopieren / Abschreiben noch andere Fehler eingebaut hast...

Denn der Quelltext sieht soweit funktionierend aus.
Da beim Zugriff auf die Property ein Fehler passiert, setze bitte einmal einen Haltepunkt auf diese Zeile, drücke wenn das Programm dort ankommt Strg + F7 und werte Self aus.
Vermutung: Das könnte nil sein.

Schau da einmal nach, bevor ich da noch viel zu schreibe, wenn es doch nicht so sein sollte.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#59

Re: Spaltenweise auf TStringList zugreifen

  Alt 30. Jul 2009, 06:53
Wenn ich F7 drücke, passiert aber nix.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#60

Re: Spaltenweise auf TStringList zugreifen

  Alt 30. Jul 2009, 06:54
Strg + F7, nicht nur F7. Dann sollte, wenn das Programm am Haltepunkt angehalten hat, das Fenster zum Auswerten eines Ausdrucks angezeigt werden. Dort kannst du dann Self hineinschreiben um zu schauen was das (also der aktuelle Objektzeiger zu der Methode) für einen Wert hat.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 8   « Erste     456 78      


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 09:47 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