![]() |
Systemkonstanten
Hallo Allerseits,
vielleicht kann mir mal jemand auf die Sprünge helfen: Mein Programm kennt keine Konsztanten wie MB_OKCANCEL oder fmOpenRead. Wo bekomme ich die her? Vielen Dank im Voraus. Grüße Carola :roll: |
DP-Maintenance
Dieses Thema wurde von "sakura" von "Internet / IP / LAN" nach "Windows API" verschoben.
Einmal posten in der richtigen Sparte reicht :roll: |
Re: Systemkonstanten
Ich glaube, dass kaum einer weiß, was du meinst, aber ich glaube, was du meinen könntest.
Es könnte sein, dass "Konstanten wie MB_OKCANCEL" nur an bestimmten Stellen verstanden werden, nämlich da, wo sie hingehören. (Wenn der Compiler sie immer noch nicht kennt, auf die richtige Syntax achten, das Problem genau beschreiben und mit Quellcode posten) |
Re: Systemkonstanten
Hallo Julius,
wenn ich diesen Befehl anwende application.MessageBox(sfile,'Beispiel1_Steuerelem ente',MB_YESNOCANCEL); bekomme ich ich folgende Fehlermeldung: Unbekannter Bezichner MB_YESNOCANCEL Das gleiche erhalte ich bei sf:=TFileStream.Create('C:\Datei.txt', fmOpenread); Unbekannter Bezichner fmOpenRead Viel Grüße Carola |
Re: Systemkonstanten
Bei mir geht das (die MessageBox) ohne Probleme
|
Re: Systemkonstanten
Hallo Julius,
die Konstanten stehen in der Unit Windows und SysUtils. Die hatte ich unter Uses nicht eingebunden. Ich bin leider kein eingefleischter Delphianer, so daß ich nach solchen Sachen leider noch suchen muß. Trotzdem Danke für Deine Mühe. Carola |
Re: Systemkonstanten
Moin Carola,
nur zur Info: Es gibt einige Wege um an die entsprechende Unit zu gelangen. Zum einen kann schlicht F1 helfen. Bei einer Funktion werden meist auch die Konstanten, und deren Unit genannt. Sollte es sich um API Konstanten handeln, so steht dort meist eine Quickinfo, in der u.a. die Header Datei genannt ist. Diese ist oft auch als Unit in Delphi deklariert. Wenn Du mindestens eine Pro Version hast, kannst Du auch in den Sourcen der Units suchen, wo diese deklariert ist. Bei Konstanten (und auch anderen API Spezifika), die in Delphi nicht deklariert sind müsstest Du dann auf die Windows Header Dateien zurückgreifen. Diese bekommt man mit dem PSDK. |
Re: Systemkonstanten
Da Konstannte ja irgendwo deklariert sind, muß natürlich auch die entsprechende Datei (wo diese drin ist) in' Programm eingebunden sein, sonst kann sie ja nicht gefunden werden.
Wenn aber wirklich nicht's geht, dann kannst du ja auch mal auf solche Konstanten verzichten und gibst direkt deren Wert an, oder definierst dir solche Konstanten einfach selber. Die entsprechenden Werte dafür kannst du ja schließlich auch von anderen, hier im Forum, erfahren.
Code:
[u][b][color=red]aus SysUtils[/color][/b][/u]
{ File open modes - for Windows } [color=red]fmOpenRead = $0000;[/color] fmOpenWrite = $0001; fmOpenReadWrite = $0002; fmShareCompat = $0000 platform; // DOS compatibility mode is not portable fmShareExclusive = $0010; fmShareDenyWrite = $0020; fmShareDenyRead = $0030 platform; // write-only not supported on all platforms fmShareDenyNone = $0040;
Code:
[u][b][color=red]aus Windows[/color][/b][/u]
{ MessageBox() Flags } MB_OK = $00000000; [color=red]MB_OKCANCEL = $00000001;[/color] MB_ABORTRETRYIGNORE = $00000002; MB_YESNOCANCEL = $00000003; MB_YESNO = $00000004; MB_RETRYCANCEL = $00000005; MB_ICONHAND = $00000010; MB_ICONQUESTION = $00000020; MB_ICONEXCLAMATION = $00000030; MB_ICONASTERISK = $00000040; MB_USERICON = $00000080; MB_ICONWARNING = MB_ICONEXCLAMATION; MB_ICONERROR = MB_ICONHAND; MB_ICONINFORMATION = MB_ICONASTERISK; MB_ICONSTOP = MB_ICONHAND; Also z.B:
Delphi-Quellcode:
Application.MessageBox(sfile, 'Beispiel1_Steuerelemente', 3{=MB_YESNOCANCEL});
sf := TFileStream.Create('C:\Datei.txt', 0{=fmOpenRead}); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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