Einzelnen Beitrag anzeigen

Benutzerbild von DirkG
DirkG

Registriert seit: 29. Sep 2003
Ort: Schwerin
67 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Zugriff auf zur Laufzeit erstellte TLabel aus DLL?

  Alt 16. Jul 2008, 13:49
Zitat:
Modul1.TLabel <> Modul2.TLabel. So einfach ist das.
Nach meinem Verständnis übergebe ich doch gerade mit dem var Parameter dieses Modul1. Somit müsste doch in diesem Fall App.TLabel = Dll.TLabel sein, da es sich doch um die Variable handelt??

Zitat:
Außerdem noch eine andere Sache: Wenn du bereits mit is auf einen bestimmten Typen geprüft hast, ist der as-Cast unnötig. Der Cast Typ(Ausdruck) ist hier günstiger.
Meinst du es in dieser Art?

Delphi-Quellcode:
procedure ShowSingleData(ID: integer; var SingleData: TPanel); stdcall; export;
var i: integer;
begin
  if (SingleData <> nil) and DBProjects.GetDS(ID, dllIbProjects.DSProject) then
    for i:= 0 to SingleData.ControlCount-1 do
      try
      if (SingleData.Controls[i] is TLabel) then begin // hier bricht in der dll die Verarbeitung ab
        if TLabel(SingleData.Controls[i]).Name='dbfDatField0then
           TLabel(SingleData.Controls[i]).Caption:= IntToStr(dllIbProjects.DSProject.ID);
        if TLabel(SingleData.Controls[i]).Name='dbfDatField1then
           TLabel(SingleData.Controls[i]).Caption:= dllIbProjects.DSProject.Caption;
        if TLabel(SingleData.Controls[i]).Name='dbfDatField2then
           TLabel(SingleData.Controls[i]).Caption:= DateToStr(dllIbProjects.DSProject.DateStart);
        if TLabel(SingleData.Controls[i]).Name='dbfDatField3then
           TLabel(SingleData.Controls[i]).Caption:= DateToStr(dllIbProjects.DSProject.DateEnd);
      end;
    except;
  end;
end;
Human are Human to make mistakes.
  Mit Zitat antworten Zitat