AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EInvalidPointer ohne Sinn?

Ein Thema von WIng2005 · begonnen am 27. Jun 2007 · letzter Beitrag vom 29. Jun 2007
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#21

Re: EInvalidPointer ohne Sinn?

  Alt 28. Jun 2007, 08:40
warum es nur sporadich auftritt ist so zu erklären. Bei dynamischen Arrays und Strings wird der Speicher auch dynamich angefordert. Und je nochdem welcher Speicherbereich zurückgeliefert wird legen bestimmte sachen hintereinander oder nicht. Wenn du also über das Array hinaus geschrieben hast war manchmal durch das dynamische Anfordern von Speicher dahinter nix und manchmal etwas relevantes was du überschrieben hast.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#22

Re: EInvalidPointer ohne Sinn?

  Alt 28. Jun 2007, 09:11
Klingt auf jeden Fall plausibel...
Hatte auch bis jetzt keine Fehler weiter. Habe die Schleife entprechend angepasst. Sollte also jetzt geht.
Danke nochmal, das hätte ich nie gesehen...

MFg
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#23

Re: EInvalidPointer ohne Sinn?

  Alt 28. Jun 2007, 09:31
könntest du noch sagen von welchem Typ Rechte und von welchem Typ berechtigung ist. Eventuell geht es eleganter als mit schleife.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#24

Re: EInvalidPointer ohne Sinn?

  Alt 28. Jun 2007, 10:30
Berechtigung wird als String aus ner DB gelesen. Format z.B. 0001001001, also 10 Stellen, 1 oder 0
Da ich gern an verschiedenen Stellen und mit möglichst wenig Code die einzelnen Positionen des Strings abfragen
möchte, dachte ich mir, dass es sinnvoll scheint, Berechtigung in ein Array zu schreiben...Rechte eben.

MFg
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#25

Re: EInvalidPointer ohne Sinn?

  Alt 28. Jun 2007, 10:44
Zitat von WIng2005:
0001001001, also 10 Stellen, 1 oder 0
Das schreit doch geradezu nach einer Zahl (Word oder DWORD), oder nicht? Durch Binärvergleiche kannst Du dann die Berechtigungen auslesen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#26

Re: EInvalidPointer ohne Sinn?

  Alt 28. Jun 2007, 11:14
Könntest du mal ein Beispiel bringen?

Dank Dir!
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#27

Re: EInvalidPointer ohne Sinn?

  Alt 28. Jun 2007, 12:06
Delphi-Quellcode:
const Lesen = $01;
      Schreiben = $02;
      Oeffnen = $04;
      Loeschen = $08;
      Ausfuehren = $10;

var Berechtigung: Word = 17; //Lesen und Ausführen

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (Berechtigung and Schreiben) > 0 then
    ShowMessage('Schreiben erlaubt')
  else
    ShowMessage('Schreiben nicht erlaubt');

  Berechtigung := Berechtigung and not Lesen;

  if (Berechtigung and Lesen) > 0 then
    ShowMessage('Lesen erlaubt')
  else
    ShowMessage('Lesen nicht erlaubt');

  Berechtigung := Berechtigung or Schreiben;

  if (Berechtigung and Schreiben) > 0 then
    ShowMessage('Schreiben erlaubt')
  else
    ShowMessage('Schreiben nicht erlaubt');
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#28

Re: EInvalidPointer ohne Sinn?

  Alt 28. Jun 2007, 14:17
Sieht in jedem Fall schonmal gut aus.
Mein Gedanke war, verschiedene Module zu sperren, je nach Nutzertyp und Berechtigungsschlüssel.
Beispiel:
Delphi-Quellcode:

If Benutzer='Userthen
Begin
if Rechte[1]=1 then...
if Rechte[2]=1 then...

usw.
die einzelnen Bedeutungen der Indexe ist jedoch vom Benutzertyp abhängig.
Werde mir die Sache nochmal durch den Kopf gehen lassen, bin aber erstmal
mehr als froh, dass die Sache wieder läuft...

MFG
Steffen
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: EInvalidPointer ohne Sinn?

  Alt 28. Jun 2007, 16:19
Moin Steffen,

auch wenn es jetzt funktioniert solltest Du Dir mal Heikos Tip anschauen, und Str(Key,s) weglassen:

Delphi-Quellcode:
// statt
Str(Key,s);
if s='13then PKom_Lager_vergleich(sender)

// besser
if Key = VK_RETURN then ...
Das 13 Return dürfte wohl den meisten klar sein, aber mit Konstante wird das Ganze doch lesbarer, ausserdem sparst Du Dir eine unnötige Konvertierung.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#30

Re: EInvalidPointer ohne Sinn?

  Alt 29. Jun 2007, 22:00
Da geb ich dir Recht. Kannte ich so vorher nicht.
Ist bereits geändert.
Dank euch nochmal für die Hilfe..


MFG
Steffen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 23:25 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