Einzelnen Beitrag anzeigen

Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Problem mit Combobox.Items.AddObject()

  Alt 27. Mai 2008, 10:53
Also
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var id, Bez : String;
begin

  Treibermodule.LoginDialog.Execute;

  VddQuery1.SQL.Clear;
  VddQuery1.SQL.Add('Select * From ADRPOOL');
  VddQuery1.Open;
  VddQuery1.First;

  while not VddQuery1.eof do
    begin
      ID := VddQuery1.FieldByName('ID').asString;
      Bez := VddQuery1.FieldByName('Bezeichnung').asString;

      PoolData := TPoolData.Create;

      PoolData.ID := VddQuery1.FieldByName('ID').asinteger;
      PoolData.Bezeichnung := VddQuery1.Fieldbyname('Bezeichnung').asstring;

      VisiCombobox1.Items.AddObject(Bez + ' ' + ID, PoolData);
      VddQuery1.Next;
    end;

end;
Ist ja nur aus dem Programmierbeispiel, das benutze Ich in meinem eigentlich Programm ja nicht.

Hier geschieht der Aufruf der procedure, das Formcreate und das ComboBoxSelect Ereignis:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, VisiComboBox, Unit3, l_TreiberInit, DB, vddDataSet,
  vddReferenceDataSet, vddCustomQuery, vddQuery, vddDataSource;

type
  TForm1 = class(TForm)
    VisiComboBox1: TVisiComboBox;
    VddQuery1: TVddQuery;
    procedure FormCreate(Sender: TObject);
    procedure VisiComboBox1Select(Sender: TObject);
  private
    var Spalten : TStringList;
    { Private-Deklarationen } 
  public
    { Public-Deklarationen } 
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm} 

procedure TForm1.FormCreate(Sender: TObject);
begin

  Treibermodule.LoginDialog.Execute;

  Spalten := TStringList.Create;

  Spalten.Add('AdrNr');
  Spalten.Add('AngelegtAm');

  ComboBox_fuellen(VisiComboBox1, VddQuery1, Spalten, 'adress');
  
end;

procedure TForm1.VisiComboBox1Select(Sender: TObject);
begin

PoolData := TPoolData(VisiCombobox1.Items.Objects[VisiCombobox1.ItemIndex]);
showmessage(PoolData.var1);
end;

end.
mfg
Bossi
  Mit Zitat antworten Zitat