Einzelnen Beitrag anzeigen

teekay

Registriert seit: 3. Jun 2004
23 Beiträge
 
Delphi 7 Enterprise
 
#1

ComboBox : String aus Items.Object auslesen

  Alt 17. Jan 2006, 18:26
Hallo!

ich brauch mal wieder einen Denkanstoss!

Folgendes Problemchen :
Ich möchte Daten in eine ComboBox laden. Zu jedem Item soll es einen weiteren "Subitem" geben der nicht angezeigt wird. So weit so gut.

(ComboBox Style : csDropDown)

Items adden :
Delphi-Quellcode:
procedure fill_combo;
var
  F : TextFile;
  Zeile : String;
  str_Name, str_Port : String;
  Pos_delimiter : Integer;
begin

  AssignFile(F, ChangeFileExt(Application.ExeName, '.dat'));
  Reset(F);
  while not eof(F) do
    begin
      Readln(F,Zeile);
      Pos_delimiter := Pos(';', Zeile);
      if Pos_delimiter <> 0 then
        begin
          str_Name := AnsiLeftStr(Zeile, Pos_delimiter - 1);
          Delete(Zeile,1, Pos_Delimiter);
          Pos_delimiter := Pos('#', Zeile);
          if Pos_delimiter <> 0 then
            begin
              str_Port := AnsiLeftStr(Zeile, Pos_delimiter - 1);
              with Main_frm.Combo_Port do
                begin
                  Items.AddObject(str_Name, TObject(str_Port));
                end;
            end;
        end;
    end;
  CloseFile(F);
end;
Die Daten der Textdatei sehen folgendermaßen aus:
Zitat:
Name1;11001#
Name2;11002#
Name3;11003#
...
TObject als String aus dem gewählten Eintrag auslesen und weiterverarbeiten
Delphi-Quellcode:
procedure TMain_frm.Button1Click(Sender: TObject);
begin
  if Combo_Port.ItemIndex > -1 then
    Showmessage(String(Combo_Port.Items.Objects[Combo_Port.ItemIndex]));
end;
So, und genau hier ist mein Problem :

Als Ergebnis erhalte ich entweder keine oder nur kryptische werte oder auch mal eine Zugriffsverletzung - ich kann den Fehler einfach nicht nachvollziehen

Interssanterweise funktioniert das Beispiel bei mir einwandfrei :
http://www.delphipraxis.net/internal...=181907#181907

aufgefallen ist mir das beim Ändern der LPersonalnummer in :
LPersonalnummer := '11003' + IntToStr(5); die Daten genauso sinnfrei ausgegeben werden wie bei mir...
wenn ihr eine Idee habt würde mich das sehr freuen

mfG TeeKay
  Mit Zitat antworten Zitat