Помощь в коде Помощь по генераций GUID

  • Автор темы Автор темы 7.UP
  • Дата начала Дата начала

7.UP

Проверянный
Принятый Кодер
Ofline
всем приветик, может кто сталкивался или делал
вообщем-то хочу сделать генератор GUID, через поток, делаю так
Код:
procedure FThread.SetGUID;
begin
  CriticalSection.Enter;
  try
  if CoCreateGuid(MyGUID) = s_OK then
  begin
    S := GUIDToString(MyGUID);
    S := Copy(s, 2, length(s) -2); // это удаление {}
  end;
  finally
    CriticalSection.Leave;
  end;
end;
потом всё это вызываю из пока
Код:
Synchronize(SetGUID);
записываю в memo
Код:
Form1.sMemo1.Lines.Add(S); // из Synchronize
ну когда кол-во, наделает, выдает кучу ошибок, помогите пожалуйста, кто прошаренный) давно в delphi не кодел
 
Последнее редактирование:
Попробуй поставить проверку на ошибку
if CreateGUID(MyGuid1) <> 0 then
Memo1.Lines.Add('Creating GUID failed!')
else
Memo1.Lines.Add('The generated guid is: ' + GUIDToString(MyGuid1));
 
Попробуй поставить проверку на ошибку
if CreateGUID(MyGuid1) <> 0 then
Memo1.Lines.Add('Creating GUID failed!')
else
Memo1.Lines.Add('The generated guid is: ' + GUIDToString(MyGuid1));
CoCreateGuid и CreateGUID, это две разные штуки
я же через procedure делаю вызываю через Synchronize(SetGUID); то есть через поток делаю, мне как бы сказать нужно на подобии как через TStringList, сделать и проходить, пока какое-то количество не закончится. на подобие брута короче)
 
Код:
uses
 System.Threading,ActiveX, ComObj
....
procedure TForm1.Button1Click(Sender: TObject);
begin
TtASK.Run(
 PROCEDURE
 BEGIN
 TThread.Synchronize(TThread.CurrentThread,
 PROCEDURE
   VAR
 ID: TGUID;
  begin
   if CoCreateGuid(ID) = S_OK then
   Form1.Memo1.Lines.Add( AnsiLowerCase(Copy((GUIDToString(ID)), 2, Length(GUIDToString(ID)) - 2))); // вывод С  удалением {}
 end);
 end);
END;
end.
 
Назад
Сверху Снизу