AGB  ·  Datenschutz  ·  Impressum  







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

Form in DLL - langsam

Ein Thema von minime · begonnen am 22. Okt 2006
Antwort Antwort
minime

Registriert seit: 22. Okt 2006
1 Beiträge
 
#1

Form in DLL - langsam

  Alt 22. Okt 2006, 21:29
Jo hallo

ich hab neulich ein plugin für meinproggi geschrieben (chat plugin) und das beinhaltet auch
eine form (2 richedits, 1button )

ja eigentloch geht das auch hervorragend
ABER

wenn ich in die Richedits was eingeben will, dann erscheinen die Buchstaben extrem verzögert (oft nur 1 buchstabe/sek)
im gegensatz zu den Forms in meiner Hauptprogramm(exe) wo alles flüssig abläuft

hat jemand eine idee warum das sein könnte?

hier nochmal der sOUrCe

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ToolWin, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    ToolBar1: TToolBar;
    RichEdit2: TRichEdit;
    procedure RichEdit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  SendData : procedure(pName,pText:pchar);

implementation

{$R *.dfm}

function GetUser:string;
var
  buffer : array[0..MAX_PATH] of Char;
  Size: DWORD;
begin
  Size := sizeof(buffer);
  GetUserName(buffer, size);
  SetString(Result, buffer, lstrlen(buffer));
end;

procedure SendText(Name,Text:string);
begin
  if @SendData <> nil then
    begin
      SendData(pchar(Name),pchar(Text));
    end;
end;

//===========================================
// DLL Export Functions
//===========================================
procedure StartChat(SendAddr:pointer);
begin
try
SendData := SendAddr;
Form1 := TForm1.Create(nil);
Form1.RichEdit1.ReadOnly := true;
finally
Form1.Show;
end;
end;

procedure GetChatText(pName,pText:pchar);
begin
Form1.RichEdit1.Lines.Add(string(pName)+':'+' '+string(pText));
Form1.Show;
end;

exports GetChatText,StartChat;
//===========================================

//=============== INTERFACE ================
procedure TForm1.RichEdit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key = vk_f1 then
  begin
    SendText(GetUser,Form1.RichEdit2.Text);
    Form1.RichEdit2.Clear;
  end;
end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:56 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