Thema: Delphi Warnung vor WinMD :(

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.425 Beiträge
 
Delphi 12 Athens
 
#3

AW: Warnung vor WinMD :(

  Alt Heute, 01:18
So, nachdem ich mal wieder in Versuchung war und WinMD nutzen wollte .... hab verzweifelt aufgeben müssen.
Dachte noch neues Delphi, neues Glück,
aber der dahingerotzte Scheißdreck ist ja immernoch in selbiger Version 1.0

Falsche Typen, massig Inkompatibilitäten, viele Fehler,
aber ganz Pervers war, dass Parameter als VAR deklariert wurden, und zwar auf den TYP, obwohl es ein [out] oder den Pointer des Pointer-Typen sein müsste, also ein VAR auf den Pointer, nicht auf den Typ.

Wenn die API aber einen Zeiger ausgibt, und zwar auf ein offenes Array, und nicht den "einen" Inhalt, dann geht das sowas von garnicht.


OK, es gibt inzwischen ein Delphi-Projekt, welches .Net-Debuginfos auslesen kann,
aber bevor ich selbst anfange diese auslesen und verarbeiten zu wollen, um eigene WinMD-Delphi-Header zu generieren,
dachte ich mir, ich probiere erstmal den WinMD-Exporter von Microsoft und schaue, was deren XML für mich bereitstellen,
aber irgendwie will das nichts machen.


Windows Runtime Metadata Export Tool
https://learn.microsoft.com/de-de/do...ta-export-tool

Also erstmal die BasisLib reingeworfen und (in einem leeren und beschreibbarem Verzeichnis ausgeführt)
Code:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\WinMDExp.exe" "C:\Windows\System32\WinMetadata\Windows.Foundation.winmd"
Zitat:
error WME1090 : Could not determine the core reference assembly. Please make sure mscorlib.dll and System.Runtime.dll
is referenced using the /reference switch.
OK, dann weiter ...
Code:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\WinMDExp.exe" /doc:xmldoc.xml /out:metafile.weissnicht /reference:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Runtime.dll" /reference:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll" /utf8output "C:\Windows\System32\WinMetadata\Windows.Foundation.winmd"
Zitat:
error WME1046 : Platform Attribute 'Windows.Foundation.Metadata.ActivatableAttribute' is either defined in an assembly
that is not referenced or does not have the expected constructor. Please ensure that your assembly references include
the .NET Framework and Windows Runtime platform assemblies, such as System.Runtime.dll and Windows.winmd.
Hmmmm, aber jetzt weiß ich auch erstmal nicht mehr weiter
und das Internet zeigt auch keine Lösungswege auf, bzw. kaum jemand scheint das mal versucht zu haben, oder niemand hat Probleme damit.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (Heute um 01:22 Uhr)
  Mit Zitat antworten Zitat