AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit TStringlist und String

Ein Thema von Stadtfuchs · begonnen am 9. Mär 2007 · letzter Beitrag vom 9. Mär 2007
Antwort Antwort
Stadtfuchs

Registriert seit: 17. Aug 2005
8 Beiträge
 
#1

Problem mit TStringlist und String

  Alt 9. Mär 2007, 13:51
hi,

ich möchte einen String der über 2 (oder mehr) Zeilen geht in eine Stringlist schreiben.
Das tue ich weil ich diese Stringlist später an eine SMTP Komponente übergeben muss (SMTP.ToAddress) welche nur Stringlisten akzeptiert.
Den String der in die Stringlist soll ziehe ich mir aus einem Registryeintrag heraus.
Dort stehen als Test zwei Email Adressen die durch Returns getrennt sind.
Wenn ich die in einen String auslese und den per Showmessage anzeige zeigt der mir auch brav die erste Adresse in der ersten Zeile und die zweite in der zweiten Zeile.
Aber sobald ich den String dann in eine Stringlist schreiben will zerlegt es mein Programm.
Weiss hier einer Rat?

mfg
Nicht wundern, bin Anfänger ^_^
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Problem mit TStringlist und String

  Alt 9. Mär 2007, 13:56
Stringlist ist überhaupt erzeugt?

An dieser Stelle wäre ein wenig Code sinnvoll, damit wir sehen können, was du gemacht hast.
  Mit Zitat antworten Zitat
Stadtfuchs

Registriert seit: 17. Aug 2005
8 Beiträge
 
#3

Re: Problem mit TStringlist und String

  Alt 9. Mär 2007, 14:01
Delphi-Quellcode:
// ########## Werte aus der Registry auslesen ##################################
procedure TForm1.Auslesen;
var
  regist: TRegistry;
  i: WideChar;
begin
  regist := TRegistry.Create;
  regist.RootKey := HKEY_LOCAL_MACHINE;
  if regist.OpenKey('SOFTWARE\MES', true) = true then
    for i := 'Ato 'Zdo
      Buchstabe := i;
      Mail := regist.ReadString(Buchstabe + 'eMail');
      Wiederholungen := regist.ReadInteger(Buchstabe + 'Anzahl');
      {try
        Kopieren;  // Testdatei wird kopiert
      Except
        EMail;
      End;}

  regist.Free;
end;

// ########## Verbindung zum Host herstellen ###################################
procedure TForm1.Button1Click(Sender: TObject);
var
  ToAddressList: TStringList;
begin
  button1.Enabled := false;
  Auslesen;
  smtp.PostMessage.Date := DateToStr(date());
  ToAddressList.Clear;
  ToAddressList.Text := Mail;
  smtp.PostMessage.ToAddress.AddStrings(ToAddressList);
  if pop.Connected = true then
    pop.Disconnect
  else
    begin
      try
        pop.Connect;
      except
        showmessage('Keine Verbindung zu POP!');
      end;
    end;
  if smtp.Connected = true then
    smtp.disconnect
  else
    begin
      try
        smtp.Connect;
      except
        showmessage('Keine Verbindung zu SMTP!');
      end;
    end;
end;

// ########## Nachricht absenden sofern Verbindung besteht #####################
procedure TForm1.smtpConnect(Sender: TObject);
begin
  try
    smtp.SendMail;
  except
    showmessage('Senden der Mail fehlgeschlagen!');
  end;
  button1.Enabled := true;
  try
    smtp.Disconnect;
  except
    showmessage('Konnte nicht von SMTP trennen!');
  end;
  try
    pop.Disconnect;
  except
    showmessage('Konnte von POP nicht trennen!');
  end;
end;
Nicht wundern, bin Anfänger ^_^
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Problem mit TStringlist und String

  Alt 9. Mär 2007, 14:03
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ToAddressList: TStringList;
begin
  button1.Enabled := false;
  Auslesen;
  smtp.PostMessage.Date := DateToStr(date());
  ToAddressList := TStringList.Create <<<< Erzeugen
  ToAddressList.Clear;
  ToAddressList.Text := Mail;
 
 ...
  ToAddressList.Free; <<<< Freigeben

wobei sollte eigentlich auch so gehn :

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  button1.Enabled := false;
  Auslesen;
  smtp.PostMessage.Date := DateToStr(date());
  smtp.PostMessage.ToAddress.Text := Mail;
  ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Stadtfuchs

Registriert seit: 17. Aug 2005
8 Beiträge
 
#5

Re: Problem mit TStringlist und String

  Alt 9. Mär 2007, 14:11
ich habe mal beide varianten ausprobiert und bekomme in beiden fällen eine zugriffsverletzung.
es bleibt fehlertechnisch gesehn also leider alles beim alten...
Nicht wundern, bin Anfänger ^_^
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Problem mit TStringlist und String

  Alt 9. Mär 2007, 14:23
Herzlich willkommen in der Delphi-PRAXiS, Timo.

Du solltest die genaue Stelle im aktuellen QuellCode bezeichnen, an der die Zugriffsverletzung auftritt.

Von der Strukturierung her geurteilt fehlt in deiner Prozedur Auslesen ein BEGIN-END Codeblock für die FOR-Schleife. Ohne macht das so keinen Sinn. Außerdem würde ich die gefundenen Mail-Adressen gleich dort in die Liste einbauen.

Freundliche Grüße
  Mit Zitat antworten Zitat
Stadtfuchs

Registriert seit: 17. Aug 2005
8 Beiträge
 
#7

Re: Problem mit TStringlist und String

  Alt 9. Mär 2007, 14:43
problem gelöst es läuft nun so wie es sein soll
besten dank für die hinweise
Nicht wundern, bin Anfänger ^_^
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:46 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