AGB  ·  Datenschutz  ·  Impressum  







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

TInterfacedObject Subclass

Ein Thema von EWeiss · begonnen am 11. Mär 2011 · letzter Beitrag vom 13. Mär 2011
 
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: TInterfacedObject Subclass

  Alt 12. Mär 2011, 12:01
Und wo wird hier TSkinListBox.Create aufgerufen? Welche Variable hält die erzeugte Instanz? Was für einen Typ hat diese Variable?

Was da im Create passiert, ist wahrscheinlich völlig irrelevant. Die Tatsache, daß du das Window-Handle abspeicherst, hat mit der Lebensdauer der Instanz nichts zu tun.

Ich hätte jetzt hier so etwas erwartet:

Delphi-Quellcode:
var
  SkinListBox: ISkinListBox; // Wichtig! Hier muss eine Interface-Variable stehen. IInterface ginge auch, nicht aber TSkinListBox oder TObject.
...
  SkinListBox := TSkinListBox.Create(...);
Wird es auch
InstrumentList: ISkinListBox; Aber in meiner Anwendung nicht in der TSkinList Classe.


Wird doch von außerhalb aufgerufen...
Delphi-Quellcode:
    InstrumentList := CTRL_ListBoxCreate(hMain, PAnsiChar(SKAERO_FOLDER + 'Sound.png'),
      145, 62, 610, 268, ID_INSTRUMENTLIST, True, 18, SKAERO_INACTIVECAPTION);
    SKAERO_SetAnchorMode(InstrumentList.Handle, ANCHOR_RIGHT);
    SKAERO_SetZorder(InstrumentList.Handle, ANCHOR_RIGHT);
    InstrumentList.SetFont(SKAERO_CAPTIONFONTHEIGHT, PAnsiChar(SKAERO_TEXTFONT),
      SKAERO_ACTIVECAPTION, SKAERO_INACTIVECAPTION, TRUE, 2, 0);
In der DLL..

Delphi-Quellcode:
function CTRL_ListBoxCreate(hOwner: HWND; FullpathImageName: string; x, y, xW, yH,
  ListID: integer; Visible: Boolean; ItemHeight: Integer; BackColor: COLORREF): ISkinListBox; stdcall;
begin

  result := TSkinListBox.Create(hOwner, FullpathImageName, x, y, xW, yH,
    ListID, Visible, ItemHeight, BackColor);
end;
Zurückgegeben wird ein handle mit dem ich in der Anwendung
in verbindung mit der übergebenen ID der ListBox arbeite.

Zitat:
Was da im Create passiert, ist wahrscheinlich völlig irrelevant.
In wie fern ?
Du kennst doch die Zusammenhänge nicht wie ich mit den Daten im weiteren verlauf arbeite.
Alles was deklariert wurde wird auch im späteren verlauf verwendet.
Und funktioniert in meiner anderen Anwendung "OHNE" Dll.

gruss

Geändert von EWeiss (12. Mär 2011 um 12:59 Uhr)
  Mit Zitat antworten Zitat
 


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 18:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz