Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Access Violation
chickenfigt1989 - Sa 01.05.10 14:56
Titel: Access Violation
Hey
Habe heut bei meinen Programm das die ganze zeit funktionierte, ein paar sachen geändert und jetzt bekomm ich immer eine Access Violation Fehlermeldung, und ich finde den Fehler nicht.
Hab den Code als anhang mit gemacht.
BenBE - Sa 01.05.10 14:59
Autsch.
Hast Du schon einmal daran gedacht, dein Konzept etwas zu überdenken??? Von der Namensgebung mal abgesehen ...
Delete - Sa 01.05.10 15:07
WTF?!Das ist ein sehr unübersichtlicher Code oder doch Kot... ;) Wie BenBE schon sagt überdenke nochmal dein Konzept , dann wird sich auch das Problem mit der Access Violation beheben.
€: Immer diese Rechtschreibfehler...
chickenfigt1989 - Sa 01.05.10 15:16
Es ging ja bis heut noch, dan hab ich so 5-6 Buttons durch Speedbuttons ersetzt und jetzt kommt der Fehler immer
Gausi - Sa 01.05.10 15:20
Und wir sollen jetzt in über 12.000 Zeilen Code suchen, wo du vor kurzem was geändert hast, und bei welchem Event es möglicherweise zu einer AV kommen kann, oder was? :roll:
BenBE - Sa 01.05.10 15:20
Dann gehen wir mal wie folgt vor:
0. Überdenke dein Konzept
1. Reduziere die Anzahl der Buttons in deinem Formular drastisch ;-)
2. Schaue, ob Du nicht an einigen Stellen ggf. Frames verwenden solltest
3. Gliedere die Funktionalität ggf. in mehrere Units
4. Häng mal madExcept oder ODbgIntf oder EurekaLog rein und gib mal nen Stacktrace?
5. Was sagt die Fehlermeldung konkret?
6. Was sagt Gehe zu Laufzeit-Fehler dazu?
chickenfigt1989 - Sa 01.05.10 15:38
0. Hab ich bereits
1.Kann ih nicht ich brauch die alle
2.Hmm könnt ich machen
3.oke
4.Wo soll ich das anhängen?
5.Access violation at address 004791B6 in module helper.exe. Read of address 000002F4.
6.Nichts
und nach der Fehlermeldung startet das programm aber, es ist halt tierisch nervig die meldung
lg
BenBE - Sa 01.05.10 15:47
0. Glaub ich nicht
1. Versuch es wenigstens
2. Dann mach das erstmal
4. Beschreibung zu madExcept bzw. EurekaLog lesen, dann erübrigt sich diese Frage
5. Ui, warum nicht gleich?
6. Programm starten, im Debugger anhalten, $004791B6 bei Gehe zu Laufzeitfehler eingeben, Source begutachten oder hier posten
chickenfigt1989 - Sa 01.05.10 15:54
Ich kanns aber nicht :(
BenBE - Sa 01.05.10 16:16
Dann kann ich Dir leider nicht helfen ...
chickenfigt1989 - Sa 01.05.10 16:39
Bei Punkt 6, wie kann ich das Programm in Debugger anhalten?
Lg
delfiphan - Sa 01.05.10 17:10
BenBE hat folgendes geschrieben : |
Gliedere die Funktionalität ggf. in mehrere Units |
Das hast du wohl verpasst ;):
uses Unit2, Unit3, ..., Unit529;
chickenfigt1989 hat folgendes geschrieben : |
5.Access violation at address 004791B6 in module helper.exe. Read of address 000002F4. |
Du greifst auf ein Objekt zu, das nicht instanziert ist. Und zwar muss es ein relativ grosses Objekt sein, denn du versuchst auf das Feld mit Offset $2F4 = 756 zuzugreifen. Wenn ich einmal annehme, dass alle Felder 4 Bytes aligned sind, dann wäre es das Feld #189. Viel mehr kann man aus der Fehlermeldung nicht rauslesen.
Auf welcher Zeile wird die Exception denn geschmissen (evtl. mit Debug DCUs ausführen)? Wenn du Exceptions ignorierst, dann solltest du die unter den Optionen wieder einschalten (irgend wo unter Tools/Options/Debugger Options/Exceptions gibt's eine Liste. Da sollten nicht zu viele Kästchen angekreuzt sein).
chickenfigt1989 hat folgendes geschrieben : |
und nach der Fehlermeldung startet das programm aber, es ist halt tierisch nervig die meldung |
Wenn die Fehlermeldung vor dem Starten kommt, dann ist der Fehler eher nicht im geposteten Code. Deine Form1 hat kein FormCreate o.ä., d.h. ohne Benutzeraktion passiert nichts. Du hast zwar einen Timer, der macht aber auch nichts Verbotenes. Vielleicht ist deine Projektdatei kaputt oder der Fehler liegt in einer deiner 500 Units.
Wie die anderen schon sagten: Deine 2000 Menuitems kannst du bestimmt auch zur Laufzeit erzeugen. Dadurch könntest du den Code um 95% verkleinern. Ansonsten kann ich dir nur raten mit einem Versionierungssystem wie SVN zu arbeiten, damit du deine Änderungen trackst.
chickenfigt1989 - Sa 01.05.10 17:52
Hmmm meinst du diese Liste hier wie im anhang zu sehen ist?
Edit://
Es kommt immer ein Fehler, vllt. hat der damit was zu tun und zwar hier:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure WriteStringToStream(AStream: TIdStream; const AStr :string); var LBytes: TIdBytes; begin if AStr = '' then Exit;
LBytes := ToBytes(AStr); TIdStreamHelper.Write(AStream, LBytes); end; |
kommt immer:
[Warning] IdGlobal.pas(2954): Variable 'LBytes' might not have been initialized
[Hint] UpdateSystem.pas(177): Variable 's' is declared but never used in 'TUpdate.GetFileList'
Edit 2://
Ab hier
Application.CreateForm(TForm57, Form57);
Geht es nicht emhr weiter, aber was könnte daran falsch sein?
lg
Webo - Sa 01.05.10 18:02
chickenfigt1989 hat folgendes geschrieben : |
Ab hier
Application.CreateForm(TForm57, Form57);
Geht es nicht emhr weiter, aber was könnte daran falsch sein? |
Kann man ja aus dieser einen Zeile Code wohl schlecht entnehmen, oder ? ;-)
Dafür müsste man schon näheres zu
Form57 wissen.
chickenfigt1989 - Sa 01.05.10 18:18
In Form 57 steckt nur das hier:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67:
| unit Unit57;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type TForm57 = class(TForm) Label1: TLabel; Label2: TLabel; Memo1: TMemo; Label3: TLabel; BitBtn1: TBitBtn; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; procedure BitBtn1Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure FormCreate(Sender: TObject); private public end;
var Form57: TForm57;
implementation
uses Unit58, Unit56, es;
{$R *.dfm}
procedure TForm57.BitBtn1Click(Sender: TObject); begin close end;
procedure TForm57.SpeedButton1Click(Sender: TObject); begin Form58.Show; Form57.Close; end;
procedure TForm57.SpeedButton2Click(Sender: TObject); begin Form56.show; Form57.close; end;
procedure TForm57.SpeedButton3Click(Sender: TObject); begin Form1.SynEdit1.SelText:= 'import vecmath'; end;
procedure TForm57.FormCreate(Sender: TObject); begin
end;
end. |
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376: 377:
| object Form57: TForm57 Left = 192 Top = 122 Width = 375 Height = 300 Caption = 'Beschreibung Vecmath' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False Position = poScreenCenter OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 8 Top = 8 Width = 111 Height = 13 Caption = 'Manipuliert Koordinaten' end object Label2: TLabel Left = 8 Top = 48 Width = 39 Height = 13 Caption = 'Beispiel:' end object Label3: TLabel Left = 8 Top = 24 Width = 230 Height = 13 Caption = 'Alle Befehle gibt es auch bei der Vektor Instance' end object SpeedButton1: TSpeedButton Left = 312 Top = 232 Width = 23 Height = 22 Glyph.Data = { FA090000424DFA09000000000000360000002800000021000000190000000100 180000000000C4090000120B0000120B00000000000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF666666666666FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFF666666000000000000222222BBBBBBFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6666660000000000000000000000000000 00666666EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55555500000000000000000000000000 0000000000000000111111AAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999000000000000000000 000000000000000000000000000000000000444444DDDDDDFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD4444 44000000000000000000000000000000000000000000000000000000999999FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF999999000000000000000000000000000000000000000000000000 000000444444DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFDDDDDD4444440000000000000000000000000000 00000000000000000000000000AAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66666600000000000000 0000000000000000000000000000000000000000BBBBBBFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD666666000000 000000000000000000000000000000000000000000999999FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD6666660000000000 00000000000000000000000000000000000000111111BBBBBBFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE66666600000000000000 0000000000000000000000000000000000000000555555EEEEEEFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF999999000000000000000000 000000000000000000000000000000000000000000999999FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE4444440000000000000000 00000000000000000000000000000000000000444444DDDDDDFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE33333300000000000000 0000000000000000000000000000000000000000888888FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888000000 000000000000000000000000000000000000222222CCCCCCFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFBBBBBB000000000000000000000000000000666666FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFCCCCCC111111000000000000AAAAAAFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD444444CCCCCCFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00} OnClick = SpeedButton1Click end object SpeedButton2: TSpeedButton Left = 280 Top = 232 Width = 23 Height = 22 Glyph.Data = { FA090000424DFA09000000000000360000002800000021000000190000000100 180000000000C4090000120B0000120B00000000000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 7777888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC 333333000000000000888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6666 66000000000000000000000000000000888888FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAA22 2222000000000000000000000000000000000000000000777777FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDDDDDD555555 000000000000000000000000000000000000000000000000000000AAAAAAFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8888880000 00000000000000000000000000000000000000000000000000444444DDDDDDFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC33333300 0000000000000000000000000000000000000000000000000000999999FFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF888888000000 000000000000000000000000000000000000000000000000444444DDDDDDFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAA0000 00000000000000000000000000000000000000000000000000666666FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF999999000000000000000000000000000000000000000000000000666666 DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFBBBBBB1111110000000000000000000000000000000000 00000000000000666666DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEE55555500000000000000000000 0000000000000000000000000000000000666666EEEEEEFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAA000000 000000000000000000000000000000000000000000000000000000999999FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFDDDDDD44444400000000000000000000000000000000000000000000000000 0000444444EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFF999999000000000000000000000000000000000000 000000000000000000333333EEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCCCCCC3333330000000000000000 00000000000000000000000000888888FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77777700 0000000000000000000000000000BBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFBBBBBB111111000000222222CCCCCCFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFCCCCCC444444DDDDDDFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00} OnClick = SpeedButton2Click end object SpeedButton3: TSpeedButton Left = 240 Top = 232 Width = 23 Height = 22 Glyph.Data = { FA090000424DFA09000000000000360000002800000021000000190000000100 180000000000C4090000120B0000120B00000000000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0E78833CC 0033CC00BBEEAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 E78833CC0033CC00C9F1BBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFF92E47733CC0033CC00D6F5CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41CF1169DA 44A0E788BBEEAA85E06633CC0033CC0092E477A0E788A0E78869DA44A0E788FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6F5CC33 CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC00 ADEB99FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A0E78833CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC0033CC 0033CC00BBEEAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFBBEEAAA0E78833CC0033CC0033CC0033CC0033CC0033CC0033CC0033 CC0033CC0092E477E4F8DDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92E47733CC0033CC0033CC0033CC00 D6F5CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85E06633CC0033CC0033CC 0033CC0092E477FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69DA4433CC0033 CC0033CC0033CC0041CF11FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4ED322 33CC0033CC0033CC0033CC0033CC00BBEEAAFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF41CF1133CC0033CC0033CC0033CC0033CC0069DA44FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF33CC0033CC0033CC0033CC0033CC0033CC0033CC00E4F8DDFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00} OnClick = SpeedButton3Click end object Memo1: TMemo Left = 8 Top = 64 Width = 329 Height = 161 Lines.Strings = ( 'import effectlib' 'import vecmath' '' 'victim = int(event_var[''userid''])' 'attacker = int(event_var[''attacker''])' 'victim_location = vecmath.vector(es.getplayerlocation(victim))' 'attacker_location = vecmath.vector(es.getplayerlocation(attacker' + '))' 'effectlib.drawLine(attacker_location, victim_location + (0,0,96/' + '2),' ' seconds=5) ' #9#9#9 '# Zeichnet eine Linie zwischen beiden Spielern') ReadOnly = True TabOrder = 0 end object BitBtn1: TBitBtn Left = 8 Top = 232 Width = 75 Height = 25 Caption = 'Ok' TabOrder = 1 OnClick = BitBtn1Click Glyph.Data = { E6040000424DE604000000000000360000002800000014000000140000000100 180000000000B0040000AE1D0000AE1D00000000000000000000F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0D4EED47DCA7B98D796D7F2D7F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F064C661039D000DA10A1FA81A6BCD67D9F9D7F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F03FB93D 17A60F1CA9171AA6150DA10A2FB82AC5F7C2F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0C4ECC516A9121CA9171C A9181CA9181BA81710A50C86E986F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F063C65F11A50C1CA9191CA9181CA9 181CA91813A40F63D960F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0B9E7B614A8101BA8171CA91818A7141BA8171CA918 16A5123BC436DCFFDBF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0E9F7E837B53313A7111EAA1816A51328B3251EAC1B1CA9181AA8171C AF1AA9F5A7F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F6FDF6 54C2530FA50B1FAA180FA40D2DB82AC5F5C357C25512A40E1CAA1914A50F5FD7 5BF3FFF3F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0ECFAEC5FC5590EA50B17 A7150DA4083CBF3ACEF5CDF0F0F0BCE7BB12A70E1CA9171AA71522B521B5F8B4 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F051C14F009F000EA60C2AB0277ED4 79ECFCEBF0F0F0F0F0F0F0F0F059C4530FA60A1EAA1A14A51055D454EBFFEAF0 F0F0F0F0F0F0F0F0F0F0F0F0F0F09EDC9C82D281AEE5ADE8F9E6F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0D8F2D621AE1E17A7141BA91817AC158CEC8AF0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0ADE3A912A80F1AA81717A71327B824ACF8A7F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F096DB9411A70D17A81416A61133C030B1FAAEF0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0A1E09F1BAB1514A50F16A51231C02DA1F89DF5FFF4F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0C4EBC23DB83A0EA4080EA20B23B6217BEA77DFFFDEF0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0EFFBEF91D88F39B63710A40C02A3008FE28CF0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F2FCF2BCE9BA8AD388CDECCBF0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0} end end |
Gausi - Sa 01.05.10 18:52
Sag mal, sehen die anderen Formen auch so aus? So mit einem Vor- und Zurückbutton, der jeweils die Form davor bzw. danach anzeigt? :gruebel:
Ich vermute ja fast, dass der Compiler bei Form57 die Lust an diesem Unsinn verliert und einfach die Arbeit verweigert. :lol:
glotzer - Sa 01.05.10 18:54
Gausi hat folgendes geschrieben : |
Sag mal, sehen die anderen Formen auch so aus? So mit einem Vor- und Zurückbutton, der jeweils die Form davor bzw. danach anzeigt? :gruebel:
Ich vermute ja fast, dass der Compiler bei Form57 die Lust an diesem Unsinn verliert und einfach die Arbeit verweigert. :lol: |
das wär allerdings ne erklärung xD
chickenfigt1989 - Sa 01.05.10 19:20
Ja den Vor und zurück button gibt es bei vielen, es sollte bei jeder sein aber soweit bin ihc nicht gekommen bis jetzt hab ich es nur bei 30 gemacht. Und das war eben das was ihc eig. als letztes bearbeitet hab, dan ging es nimmer.
Aber wie soll ich das vor und zurück sonst realisieren? Gibt es da irgendne andere möglichkeit?
lg
platzwart - Sa 01.05.10 20:02
Kannst du mal bitte die EXE-Datei hochladen?
BenBE - Sa 01.05.10 20:06
Da ich immer noch für 0. bin, nehme ich gern Wetten an, ob das in unter 5kLOC mit <10 Units geht. Auch andere Wetten sind gern gesehen.
@platzwart: Gesamter Source wäre glaube besser und sei's zum Totlachen Liefern praktischer Verbesserungsvorschläge
Gausi - Sa 01.05.10 20:31
Wenn du möchtest, dass man dir hier hilft, solltest du das Programm vielleicht auch hier zur Verfügung stellen, und nicht die Anmeldung in einem anderen Forum verlangen. ;-)
Teekeks - Sa 01.05.10 20:46
du sollst di hier ins Forum reinstellen...
BenBE - Sa 01.05.10 20:48
I'm afraid Dave, I can't download this.
chickenfigt1989 - Sa 01.05.10 20:59
Ging erst nich weil se 2.1Mb hatte.
Hab mir eben Winrar gezogen und gezipt
BenBE - Sa 01.05.10 21:03
Okay, du hast soeben einen weiteren Weg gefunden, mit zielgerichteter Genauigkeit ein Windows 2000 nahe dem Absturz zu manövrieren.
Oder anders ausgedrückt: Mensch, überarbeite endlich dein Konzept, das Teil frisst soviele GDI-Resourcen, das Win2K mal eben nur noch nen grauen Bildschirm anzeigt, weil er nix mehr zeichnen kann.
P.S.: Das schaffen sonst nur Azureus mit extrem vielen Torrents (wegen eines Java-Bugs) oder der Process Explorer, wenn der wesentlich zu lange lief.
chickenfigt1989 - Sa 01.05.10 21:07
Es ist überdacht. Und win Vista und auch Xp packen das shcon
BenBE - Sa 01.05.10 21:10
Überholt trifft's wohl eher ...
Und wie bereits erwähnt: Die Access Violation in dem Programm ist dein geringstes Problem. Uploade bitte mal kurz den Source (oder per PN an mich), damit man da mal einen Blick drauf werfen kann. Ich hab bereits bei weitem größere Projekte gehabt, die wesentlich weniger Formulare hatten und mehr konnten (als abstürzen).
elundril - Sa 01.05.10 21:13
Schön das du denkst das Win7, Vista und XP das packt, aber nicht jeder hat ne High-End-Maschine mit dem neusten Betriebssystem. Und ich wette es geht kleiner. Alleine schon weil ich glaube das du für jede Beschreibung ein eigenes Fenster gemacht hast anstatt das du ein Fenster machst und dann die Daten immer dort reinlädst. Immerhin: Visuelle Komponenten sind nicht zum Speichern von Daten gedacht, sondern primär zum anzeigen!
lg elundril
Gausi - Sa 01.05.10 21:30
@elundril: ja, das mit den Beschreibungs-Formen sehe ich auch so. :autsch:
@chickenfight: Ist dir nie in den Sinn gekommen, dass man dafür EINE Form nehmen kann, und den Elementen auf dieser Form den passenden Text zuweisen kann? Das ist kein Programmieren, und hat auch nichts mehr mit "Konzeptschwächen" zu tun. Das ist grober Unfug, nichts weiter.
delfiphan - Sa 01.05.10 22:23
Auf einer VM mit einer frischen WinXP SP2 Installation läuft alles ohne Exception :nixweiss:
BenBE - Sa 01.05.10 23:41
k, also kurz mal nen Blick auf den Quelltext geworfen (bevor der Augenkrebs zugeschlagen hat):
Also bereits bei der Hauptform bekommt man mit nur wenig Aufwand den Source auf wenige Zeilen reduziert.
Also solche Dinge wie:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.playerdeath1Click(Sender: TObject); begin SynEdit1.SelText:= 'def player_death(ev):'; end;
procedure TForm1.SteamiddesLegers2Click(Sender: TObject); begin SynEdit1.SelText := 'ev[''es_steamid'']' end;
procedure TForm1.Indexdesfuncbreakable4Click(Sender: TObject); begin SynEdit1.SelText := 'ev[''entindex'']' end;
|
kann man mit GANZ wenig Aufwand in eine Routine schreiben, diese dynamisch erzeugten MenuItems zuordnen, macht dabei das Programm sogar noch flexibel und spart massig Resourcen.
Okay, dass Logout1 und Logout2 das gleiche machen, ist mal grad ne Randbemerkung.
Insbesondere
TForm1.AccountSystemClient1LoggedIn ist wirklich einmalige Funktionalität ;-) Jeder Python-Quine ist spannender ;-) Aber ich glaub, ich schweife ab.
Die Benennung deiner Units könnte auch besser sein.
Zumal: Da du dort wahrscheinlich Wizards drin baust, würde ich einfach mal TPageControl mit Invible-Reitern in den Raum werfen. Spart mindestens n Googol an Formularen. Dann das Zeugs noch wenn nötig dynamisch aus Konfigurationsdateien nachladen und du kannst "One Wizard To Beat Them All" draus machen (No pun intended).
Und zu den "Hilfetexten": Geht auch über Konfigurationsdateien wesentlich effizienter abzufackeln als 500 Formulare mit kurzen Textschnipseln ständig im RAM zu halten.
Da ich hier aber leider grad weder SynEdit noch JCL\JVCL installiert hab, hat das Compilieren grad nicht geklappt:
Compiler-Ausgabe:
1:
| [Fatal Error] helper.dpr(1): E666 This source sucks. Aborting to refrain from puking. |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!