AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Startbutton aktivieren/deaktivieren
Thema durchsuchen
Ansicht
Themen-Optionen

Startbutton aktivieren/deaktivieren

Ein Thema von PierreB · begonnen am 3. Jun 2005 · letzter Beitrag vom 4. Jun 2005
Antwort Antwort
Seite 2 von 2     12   
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#11

Re: Startbutton aktivieren/deaktivieren

  Alt 3. Jun 2005, 16:20
Hallo ihr beiden,

Zitat von alcaeus:
das Schluesselwort const wird verwendet, um dem Programmierer der die Routine verwendet zu zeigen, dass ganz bestimmt nichts an der Variable geaendert wird. AFAIR laesst Delphi in dem Fall keine Zuweisung an die Variable innerhalb der Funktion zu. Bei einer "normalen" Uebergabe [Foo(bar: Integer)] ist dies nicht der Fall.
Ich kenne das Ganze so...
Param: Typ: Param stellt eigene Variable dar, Wert wird in diesen Param von der Übergabe kopiert, d.h. Änderungen haben keine Auswirkungen auf die ursprünglichen Übergabevariable.
var Param: Typ Param ist eigentlich ein Pointer, der auf Übergabe zeigt. Änderungen wirken sich auch auf Übergabevariable aus.
const Param: Typ Param ist eigentlich ein Pointer, der auf Übergabe zeigt. Änderungen dürfen jedoch nicht vorgenommen werden.

Wenn dem nicht so ist, klärt mich bitte auf

Zitat:
Delphi braucht dann auch keinen Speicher, um eine Kopie des übergebenen Strings bereitzustellen, da dieser nicht geändert werden kann.
Sorry, aber das ist in jedem Fall Quatsch! Entweder es wir dein Pointer übergeben (der benönigt 4 Byte) oder der ganze Wert wird kopiert, in dem Falle wird SizeOf(Typ)-Speicher benötigt...

Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#12

Re: Startbutton aktivieren/deaktivieren

  Alt 3. Jun 2005, 18:16
Ich hab jetzt folgendes kleines testprogramm geschrieben
Delphi-Quellcode:
procedure h(a: integer);
begin
  ShowMessage(IntToStr(a));
end;

procedure a({const/var/nix}j: integer); assembler;
asm
  push eax
  call h
  pop eax
end;
folgende Aufrufe brachten die ergebnisse (bei parameter 123):
  • Header: nix
    Ergebnis: 123
  • Header: const
    Ergebnis: 123
  • Header: var
    Ergebnis: Speicheradresse

Daraus schließe (ich zumindest), dass der Const-parameter also nur dem compiler sagt, dass dieser wert nie verändert werden wird, aber im eigentlichen bei der parameterübergabe kein unterschied liegt (zwischen const und nix). bei var wird hingegen klarerweise die adresse mitgegeben.
Es kann aber auch gut sein, dass der const-parameter durch den compiler optimiert wird, dass bei Datentypen > Pointer der Zeiger darauf mitgegeben wird, nachdem der wert sowieso nicht veränder wird.
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Startbutton aktivieren/deaktivieren

  Alt 3. Jun 2005, 18:45
Zitat von alcaeus:
Hallo Pierre,
Das Ergebnis ist wie erwartet: SetStartBtnEnabled(True) aktiviert den Startbutton, SetStartBtnEnabled(False) deaktiviert ihn. Getestet auf WinXP SP1
Dem kann ich nur zustimmen. Der Code funzzt super.

@all Warum diskutiert ihr das mit dem const hier aus. Macht doch einen neuen Thread auf.
Und ein Mod macht bei dem OT auch noch mit
André
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#14

Re: Startbutton aktivieren/deaktivieren

  Alt 3. Jun 2005, 19:44
Hallo,
danke für deine Antowort, Mike!

Zitat von Chimaira:
Es kann aber auch gut sein, dass der const-parameter durch den compiler optimiert wird, dass bei Datentypen > Pointer der Zeiger darauf mitgegeben wird, nachdem der wert sowieso nicht veränder wird.
Übergebe doch mal einen String! Bei mir wird nur bei var ein Pointer übergeben, sonst nicht... Also wäre meine Frage an sich geklärt. Danke!
Ach ja: gibt's dann eigentlic auch sowas wie ein varconst?

@André:
Sorry, schon gut! Aber deswegen einen eigenen Thread aufmachen... Wär auch doof.

Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#15

Re: Startbutton aktivieren/deaktivieren

  Alt 3. Jun 2005, 19:46
Zitat von Marphy:
Ach ja: gibt's dann eigentlic auch sowas wie ein varconst?
[...]
Aber deswegen einen eigenen Thread aufmachen... Wär auch doof.
Bitte mach das doch. Der Thread ist jetzt schon OT genug, wir muessen es nicht noch weiter treiben.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#16

Re: Startbutton aktivieren/deaktivieren

  Alt 3. Jun 2005, 19:47
Um auch noch meinen Senf dazuzugeben:

Das Deaktivieren des Startbuttons verhindert keinesfalls das öffnen des Startmenüs z.b. mit der Windows Taste, wenn es das ist, was du bezwecken willst.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#17

Re: Startbutton aktivieren/deaktivieren

  Alt 4. Jun 2005, 10:23
Zitat von Florian Bernd:
Um auch noch meinen Senf dazuzugeben:

Das Deaktivieren des Startbuttons verhindert keinesfalls das öffnen des Startmenüs z.b. mit der Windows Taste, wenn es das ist, was du bezwecken willst.

Florian
Hallo,

ja danke, hagtte ich auch schon rausgefunden. Ich hab die Taskleiste dann jetzt einfach ausgeblendet, und wenn ein User doch noch ins Startmenü will kann er immernoch nen Shortcut drücken.

Vielen Dank für eure Antworten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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