![]() |
AW: With Test do
Zitat:
Zitat:
So meckert der Compiler jedenfalls nicht mehr. Danke werde mal versuchen diese jetzt von außen anzusprechen. Muss ich da noch was besonderes berücksichtigen? OK! Export ist klar
Delphi-Quellcode:
Und die Funktion muss jetzt in meiner API eingefügt werden.
export
SkinFrameButtonCreate
Delphi-Quellcode:
Sowie..
function SkinFrameButtonCreate(hOwner: HWND; FullpathImageName: string; skLabel:
PAnsiChar; x, y, xW, yH, ButID, StateMax: integer; Enabled: Boolean): ISkinFrameButton;
Delphi-Quellcode:
Das interface selbst.
type
ISkinFrameButton = interface ['{810D9186-F618-4EE6-84C3-054CDBAE1496}'] end; Zitat:
Ich brauche aber das Handle müßte dann quasi nach dem erstellen das Handle zurückgeben
Delphi-Quellcode:
Das will der Compiler wieder nicht.
ISkinFrameButton = interface
['{810D9186-F618-4EE6-84C3-054CDBAE1496}'] property Handle: HWND Read HFrameButton; end; Zitat:
gruss |
AW: With Test do
Zitat:
Du brauchst eine Getter-Methode: GetHandle.
Delphi-Quellcode:
ISkinFrameButton = interface
['{810D9186-F618-4EE6-84C3-054CDBAE1496}'] function GetHandle: hWnd; property Handle: hWnd read GetHandle; end; |
AW: With Test do
Das muss den Namen "GET" vorangesetzt haben?
so geht es nicht?
Delphi-Quellcode:
gruss
ISkinFrameButton = interface
['{810D9186-F618-4EE6-84C3-054CDBAE1496}'] function HFrameButton: hWnd; property Handle: HWND Read HFrameButton; end; |
AW: With Test do
Delphi-Quellcode:
type
ISkinFrameButton = interface ['{810D9186-F618-4EE6-84C3-054CDBAE1496}'] function GetHandle: hWnd; property Handle: hWnd read GetHandle; end; TSkinFrameButton = class(TInterfacedObject, ISkinFrameButton) private HFrameButton: Hwnd; function GetHandle: Hwnd; end; implementation function TSkinFrameButton.GetHandle: Hwnd; begin Result := HFrameButton; end; |
AW: With Test do
Zitat:
Hab doch erst in 2 Tagen Geburtstag.. und werd 53 :cry: Danke an alle. Ich hoffe das ich jetzt damit klarkomme. gruss |
AW: With Test do
tschuldigung wenn ich pusche :duck:
Habe es jetzt soweit das es compiliert aber leider kommt nichts an. Symbole werden eleminiert vom linker.
Delphi-Quellcode:
was sollte da jetzt noch falsch sein.
procedure AddChildControls(hMain: HWND);
var BackgoundFrame : ISkinFrameButton; begin BackgoundFrame := CTRL_FrameButtonCreate(hMain, SKAERO_FOLDER + 'Panel.png', '', 13, 41, XMIN_SIZE - 26, YMIN_SIZE - 55, ID_AEROBUTTON, 0, False); SKAERO_SetAnchorMode(BackgoundFrame.Handle, ANCHOR_HEIGHT_WIDTH); SKAERO_SetZorder(BackgoundFrame.Handle, HWND_BOTTOM); end; Der Skinfolder wird richtig übergeben aber im weiteren verlauf eleminiert. Zitat:
EDIT: Hat sich erledigt habe den Fehler gefunden. Bei der Übergabe in meiner API Unit habe ich den stdcal vergessen.. während er in der DLL vorhanden war. trotzdem frage ich mich was wohl besser wäre für Interface übergaben ist stdcal OK? gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 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