Moin,
also ich bin echt am verzweifeln, die blöde Meldung kommt immer noch
so jetzt etwas mehr Quellcode.
Habe diesmal alle TStrings in Hauptformuler Created und die werde auch nur da Destroyt.
Create Funktion
Delphi-Quellcode:
procedure TfrmAuftrag_Auftrag_Suchen.FormCreate(Sender: TObject);
var
sTemp:TStrings;
begin
inherited;
sTemp:=TStringlist.Create;
try
try
//Mitarbeiter
Standard_Lesen_Mitarbeiterliste(sTemp, frmHauptmenue_Auswahlmenue.sMitarbeiter_id, true);
cboMitarbeiter.Items.Clear;
cboMitarbeiter.Items.AddStrings(sTemp);
finally
sTemp.Free;
end;
except
//Die Auswertung kommt später
end;
end;
Das ist eine
Unit die nur für Laden zuständig ist
Delphi-Quellcode:
//####################
//# Mitarbeiterliste #
//####################
procedure Standard_Lesen_Mitarbeiterliste(Mitarbeiterliste, Mitarbeiterliste_id:TStrings;Leerzeile:boolean);
begin
try
//Daten initialisieren
If Mitarbeiterliste<>NIL then
begin
//Kann initaliaisiert werden
Mitarbeiterliste.Clear;
If Leerzeile then Mitarbeiterliste.Add('');
end;
If Mitarbeiterliste_id<>NIL then
begin
//Kann initaliaisiert werden
Mitarbeiterliste_id.Clear;
If Leerzeile then Mitarbeiterliste_id.Add('0');
end;
Assert(Assigned(frmDatamodul));
With frmDatamodul.fsel_Mitarbeiter do
begin
try
Close;
Parameters.ParamByName('Mitarbeiter_id').Value:= null;
Open;
While not Eof do
begin
If Mitarbeiterliste<>NIL then Mitarbeiterliste.Add(FieldByName('Username').AsString);
If Mitarbeiterliste_id<>NIL then Mitarbeiterliste_id.Add(FieldByName('Mitarbeiter_id').AsString);
next;
end;
finally
Close;
end;
end;
except
//Die Auswertung kommt später
end;
end;
Wenn Das Formular geöffnet wird, wird eine Initialisierungsfunktion gestartet
Delphi-Quellcode:
//#################
//# Formulat Init #
//#################
procedure TfrmAuftrag_Auftrag_Suchen.Init;
begin
cboMitarbeiter.ItemIndex:= cboMitarbeiter.Items.IndexOf(Bestimme_Benutzername); //Bestimme_Benutzername liefert den Name des angemeldeten Benutzers
...
...
...
Show;
end;
Es wird noch der richtige Name aus der cbo ausgewählt. Aber wenn man die cbo anklickt kommt die Fehlermeldung (ntdll.dll ......)