![]() |
ExtLib lässt sich nicht installieren
Hi, wenn ich versuche das D6 Package von der
![]()
Code:
Wieso fehlt IDesigner und wie kann ich ExtLib installieren?
[Fehler] ELDsgnr.pas(492): Undefinierter Bezeichner: 'IDesigner'
[Fehler] ELDsgnr.pas(1017): Undefinierter Bezeichner: 'SInvalidName' [Fehler] ELDsgnr.pas(1019): Undefinierter Bezeichner: 'SDuplicateName' [Fataler Fehler] ExtLib_D6.dpk(39): Verwendete Unit 'ELDsgnr.pas' kann nicht compiliert werden |
Re: ExtLib lässt sich nicht installieren
*Push*
Hat wirklich niemand ne Ahnung? |
Re: ExtLib lässt sich nicht installieren
|
AW: ExtLib lässt sich nicht installieren
Genau die habe ich mir runter geladen. Aber es kompiliert immer noch nicht.
Hier:
Delphi-Quellcode:
Warum meckert der Compiler hier bei SizeOf und behauptet, zu viele Parameter erhalten zu haben?
procedure TELTrayIcon.NotifyIcon(AMessage: Cardinal);
var LNID: _NOTIFYICONDATAW; //habe ich auf die WideChar Version geändert wegen StrLCopy LS: string; begin with LNID do begin cbSize := SizeOf(LNID); ///Hier meckert der Compiler mit der Meldung "Zu viele Parameter"!!! Warum das ??? Wnd := FHWnd; uID := 0; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; uCallbackMessage := WM_USER; if FIcon.Handle <> 0 then hIcon := FIcon.Handle else hIcon := Application.Icon.Handle; if Hint <> '' then LS := Hint else LS := Application.Title; StrLCopy(szTip, PWideChar(LS), 63); //Von PChar auf PWideChar geändert durch mich end; Shell_NotifyIcon(AMessage, @LNID); end; |
AW: ExtLib lässt sich nicht installieren
Zitat:
Glaskugel:
Edit: Das with hatte ich ganz übersehen. Vermutlich hat jaenicke recht und es ist _NOTIFYICONDATAW, das eine SizeOf-Methode hat. |
AW: ExtLib lässt sich nicht installieren
Ich schätze eher, dass _NOTIFYICONDATAW nun eine SizeOf Funktion hat, denn sonst bräuchte man ja einen Parameter. Und da dieses besch*** with verwendet wird, fällt das halt dann auf die Füße, wenn ein Record entsprechend erweitert wird. Manchmal, wie hier, weil es nicht mehr kompiliert, oft aber auch, weil das Programm seltsame Sachen macht, woraufhin man im Extremfall tagelang sucht. Das war damals auch der Grund, weshalb die VirtualTrees bei ich glaube XE2 nicht mehr kompiliert haben, denn da wurde TRect um Funktionen wie ich glaube Width usw. erweitert.
|
AW: ExtLib lässt sich nicht installieren
Dank der Benutzung von with weiß der Compiler nicht genau, welches SizeOf er benutzen soll und entscheidet sich "zufällig" für das falsche SizeOf.
Die Unit, die das SizeOf mit einem Parameter enthält, ist nicht im Uses enthalten. |
AW: ExtLib lässt sich nicht installieren
Zitat:
Selbst ohne das with ist Zahl der Möglichkeiten also ziemlich groß. /Klugscheißer Einfachster Bugfix ist übrigens:
Delphi-Quellcode:
cbSize := System.SizeOf(LNID);
Damit ist dem Compiler die Wahlmöglichkeit genommen. |
AW: ExtLib lässt sich nicht installieren
Zitat:
Compilierelogik und Erwartungshaltung führen nicht zwingend zum gleichen Ergebnis ;-) |
AW: ExtLib lässt sich nicht installieren
Zitat:
Das ist mal ein Paradebeispiel dafür wie gefährlich es sein kann Abkürzungen zu nehmen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz