AGB  ·  Datenschutz  ·  Impressum  







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

Interner Fehler: LA33

Ein Thema von implementation · begonnen am 21. Mai 2009 · letzter Beitrag vom 22. Mai 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#1

Interner Fehler: LA33

  Alt 21. Mai 2009, 09:06
Momentan macht Delphi bei mir wieder sehr seltsame Probleme.
Delphi-Quellcode:
program wd4gexec;

uses
  Dialogs,
  SysUtils,
  wd4gstruct.postings,
  Forms;

{$R *.res}

var Test: TLogicalList;
var x:string;

begin
   SetLengthOfLogList(Test,48);
   Test[0] := 127;
   SetBitInLogList(Test,2,false);
   ShowMessage(IntToStr(Test[0]));
end.
Wenn ich beispielsweise dieses Programm compilieren will, heißt es entweder in der unteren Leiste
"[Fataler Fehler] wd4gexec.dpr (21): F2084 Interner Fehler: LA33"
oder es erscheint ein Dialog
"Zugriffsverletzung bei Adresse 08717501 in Modul 'dcc90.dll'. Lesen von Adresse 0000000F."
Gestern hat der gleiche Quelltext noch funktioniert.
Delphi-Quellcode:
program wd4gexec;

uses
  Dialogs,
  SysUtils,
  //wd4gstruct.postings,
  Forms;

{$R *.res}

// var Test: TLogicalList;
var x:string;

begin
  // SetLengthOfLogList(Test,48);
  // Test[0] := 127;
  // SetBitInLogList(Test,2,false);
  // ShowMessage(IntToStr(Test[0]));
  WriteLn('lol');
  ReadLn(x);
end.
Wenn ich es in der Form compilieren will, passiert erst einmal gar nichts.

Ergebnis der Reperatur von Delphi: kein Erfolg.
Selbst eine Neuinstallation hat nichts gebracht.

Was geht hier vor?
Marvin
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Interner Fehler: LA33

  Alt 21. Mai 2009, 09:30
Was macht SetLengthOfLogList?

Musst Du die Liste nicht erst noch instantiieren?
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Interner Fehler: LA33

  Alt 21. Mai 2009, 09:36
TLogicalList ist keine Liste, sondern nur ein dynamisches Array.
SetLengthOfLogList(Test,48 ) bewirkt das gleiche wie SetLength(Test,6)

TLogicalList soll viele logische Werte speichern können.
Sinnvoll wäre ein Array Of Boolean.
Das verbraucht jedoch für jeden Wert im Array ein Byte.

Ich habe es daher so definiert:
type TLogicalList = Array Of Byte;

Dann wird jeder logische Wert durch ein Bit dargestellt.
Die 48 in "SetLengthOfLogList(Test,48 )" steht für 48 Logische Werte = 48 Bits = 6 Bytes.

Um einen einzelnen Wert zu setzen, benutzt man SetBitInLoglist(var Loglist: TLogicalList; index: Word; Value: Boolean);

SetBitInLogList(Test,2,false) setzt also den dritten logischen Wert auf 0 (false).
Marvin
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Interner Fehler: LA33

  Alt 21. Mai 2009, 21:33
Wieso wird gleich im Delphi neu installiert? Zu 99,5% der Fälle ist dies sinnlos da Programmierfehler vorlegen?

Ist dein den nun ein Konsolen oder ein normales GUI-Programm? Für ein Konsolenprogramm ist komisch das die Unit Forms eingebunden ist. Ich Tipp mal drauf das in den Projektoptionen die entsprechende OPtion nicht auf Consolenanwendung steht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.356 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Interner Fehler: LA33

  Alt 21. Mai 2009, 22:39
Es fehlt ja auch die entsprechende Zeile, die nach der ersten Zeile dann folgen würde:{$APPTYPE CONSOLE}
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Interner Fehler: LA33

  Alt 21. Mai 2009, 22:41
Ach ja: D2005. Zweitschlechtestes Delphi aller Zeiten. Wenn möglich auf Turbo Delphi wechsenl
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#7

Re: Interner Fehler: LA33

  Alt 21. Mai 2009, 22:54
Zitat von implementation:
Dann wird jeder logische Wert durch ein Bit dargestellt.
Die 48 in "SetLengthOfLogList(Test,48 )" steht für 48 Logische Werte = 48 Bits = 6 Bytes
Hab ich etwas verpasst ? Seit wann ist denn ein (Delphi) Byte nur 1/8 Byte ?
Ein Byte = 8 Bits und nicht vice versa -> ..( Test, 48 ) = 48 Bytes

Soweit ich etwas nicht missverstanden habe.

MfG
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Interner Fehler: LA33

  Alt 21. Mai 2009, 23:07
Hallo Emre,
ich glaube du hast ihn falsch verstanden: Er speichert mehrere Booleans (= 1 Bit) in einem Byte (= 8 Bit). Wenn er nun 48 Booleans möglichst Platzsparend unterbringen will, dann kann er das in 6 Bytes tun, da 6 Bytes 48 Bit sind.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Interner Fehler: LA33

  Alt 21. Mai 2009, 23:55
Mal das Project neu "erstellt", also nicht nur compiliert?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Interner Fehler: LA33

  Alt 22. Mai 2009, 07:48
Zitat von Bernhard Geyer:
Ist dein den nun ein Konsolen oder ein normales GUI-Programm? Für ein Konsolenprogramm ist komisch das die Unit Forms eingebunden ist. Ich Tipp mal drauf das in den Projektoptionen die entsprechende OPtion nicht auf Consolenanwendung steht.
Es ist ein GUI-Programm. Ich habe bei den Linker-Optionen Konsolenprogramm aktiviert. Das ist nicht das Problem.
Zitat von jaenicke:
Es fehlt ja auch die entsprechende Zeile, die nach der ersten Zeile dann folgen würde:{$APPTYPE CONSOLE}
Das kann ich mir dann wohl sparen.
Zitat von Bernhard Geyer:
Ach ja: D2005. Zweitschlechtestes Delphi aller Zeiten. Wenn möglich auf Turbo Delphi wechsenl
Bei Turbo Delphi kann ich aber auch keine eigenen Packages installieren, was mir sehr wichtig ist.
Zitat von turboPASCAL:
Mal das Project neu "erstellt", also nicht nur compiliert?
Kam nichts anderes bei raus.
Zitat von Bernhard Geyer:
Wieso wird gleich im Delphi neu installiert? Zu 99,5% der Fälle ist dies sinnlos da Programmierfehler vorlegen?
Ich kann nur erneut darauf verweisen, dass der selbe Quelltext unverändert ein paar Tage vorher noch funktionierte. Deshalb wird es wohl kaum daran liegen.
Marvin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 12:01 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