Delphi

59K

Solutions

17K

Contributors

Delphi is the most powerful Object Pascal IDE and component library for cross-platform Native App Development with flexible Cloud services and broad IoT connectivity. It provides powerful VCL controls for Windows 10 and enables FMX development for Windows, Mac and Mobile. Delphi is your choice for ultrafast Enterprise Strong Development™. Look for increased memory for large projects, extended multi-monitor support, improved Object Inspector and much more. Delphi is 5x faster for development and deployment across multiple desktop, mobile, cloud and database platforms including 32-bit and 64-bit Windows 10.

Share tech news, updates, or what's on your mind.

Sign up to Post

Hi,

We have a 3rd party software house which have an application provided to us which is written in Delphi.
One of the core features of the software is we can send content from the application using MAPI.
When it works properly, you press "Send Email" in the application, it brings up a pop-up box which says "Sending Email..." - the application initiates the MAPI call which opens the email client (Outlook) over the top of the application and fills in the content of the email, the user then clicks "Send" and it closes the Outlook window, and MAPI lets the application know it's been sent and the "Sending Email..." popup disappears from the application and you can continue using it.

About two years ago we had this application published using Citrix on a Server 2003 Farm with Office 2003 to our remote depots. Our head office depot accesses the application locally without Citrix. All worked fine without any issues.
We then upgraded our farm to the latest version of Citrix, Server 2012 R2 and Office 2016.

Since we upgraded we are having issues when sending email from the application. Every now and again the application would initiate the MAPI call to open the email client (Outlook 2016) and then fill in the content, the end user would then just click "Send" and the Outlook window would close. However, the application would freeze with the "Sending Email.." screen. The applications basically freezes at this point waiting for the nod that the email has been sent.

When…
0
Learn Ruby Fundamentals
LVL 12
Learn Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

On a TForm I have a TMemo
I fill in the TMemo lines with some text (variable) (wordwrap is true)
I want to programmatically adapt the height of the form so that the entire text is visible (no scrollbars and anchor is adapted)
Thanks
0
Hi,

I have been looking for a long time on how to create a Delphi based HTTP proxy tunneling and yesterday came across this one http://portmaptunnel.sourceforge.net/, unfortunately it is compiled with Delphi 7 and Indy 9, I need help to convert it to Indy 10 on the later Delphi releases.

thank you
0
I have designed a website using Delphi Seattle with intraweb. Everything works fine until I have a html file that need to be open and filled with value. It has a button that run a script function that will produce a hash key based on the value entered. I have look for solution. All solutions pointed to TWebBrowser which I tried as test application - It works beautifully. I can filled the fields and even execute the button and retrieve the hash key (with coding). Problem is when I used the same component TWebBrowser, I found that it is not compatible with Intraweb. I have tried a lot of ways to workaround the  intraweb restriction. I tried IWFrame but when I add the frame, it would not work. Since that don't work, I tried IWURLWindow component. I can display the HTML file and I can interact with the fields and button but I cannot access the fields and button by coding. There is very limited to no documentation to this compont. Is it possible to access and retrieve the elements field value and execute the button by coding? Or is there another alternative? It has to work with existing website.
Thanks in advance.
0
Hello

After so many tries to find a way to play youtube videos and getting severalls code from internet, I confess that I couldn't get something that works.

Then, I am here asking you a help.

This is a small project and I'd like a help or hire you for this small project.

Take a look what I need:

1) To inform the youtube link
2) To play the video directly from internet without download it
3) The possibility to stop, play and reward the video

I hope you can help me. This can be a hire project and you can send me the price for that.

Waiting for your contact

PS: I use delphi XE7

alex
0
Hi there experts,

An update query is failing to execute inside a oracle stored procedure, detail as below:

AppConn.BeginTrans
'''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''
SwapUser
;;;;;;;;;;;;;;;;;;;;;;;;;;
AssignUSer

''''''''''''''''''''''''''''''''''
AppConn.ComitTrans

SwapUser executes a oracle stored proc where it updates a table.

AssignUser also executes a stored proc which is different from above but updates the same table as above.

When i debug the oracle procedure i found it halts at the update statement.

Can i not update same table in two separate stored proc, is there any issue of locking the table or something for which it does not allow to update in another stored proc?

How to handle this issue?
0
Any recommendations on how to go about creating a PDF file using the contents of a TWebBrowser component?
0
Hi guys
I am looking for a component or a method. to create a database application that uses the ribbon component with a client area as indicated on the image




these images are taken from an example of what I want to do
thank you all
0
I had this question after viewing Error EResNotFound when using custom component at runtime.

Sorry for errors in translation / concordance, I'm using google translator.

I have the same problem as the friend said in the link. The component has resource file, but when placing in the project it informs that the resource does not exist.
I saw the solution provided, however, I did not understand how to put it in my code.
0
Hey there experts!
I have a importer app developed using delphi and oracle. What it does is, imports data into tables from excel files.
When i run the app it shows list of import files which come from table "importFile".
The structure of the table as below:

ImportCode          PackageName                TableName
A_21                       package_21                      tab_21
A_31                       package_31                      tab_31
A_41                       package_41                      tab_41
So actually when i run the app and select A_21 it runs the package_21 and inserts record into tab_21 similarly other import files.

I have records in tab_21, tab_31 and tab_41 which store the import information.

Now the suffix in importcode, packagename, tablename needs to be changed which means A_21 can become A_31, A_31 may become A_41 and so on.
For example now when i run the app create a new import file A_21 will become A_31, package name will become package_31 and table will become tab_31. The problem is i need to get the old records from tab_21 to tab_31.

So the logic is :
if A_21 changes to A_31, it will check if tab_21 has records or not, if there are records it needs to be copied to A_31. But A_31 may have existing records so those can be transferred to a temp table.

Now if A_31 needs to be changed to A_41, the records which is stored in temp needs to be copied A_41.

So precisely i need to suffle the table names with preserving the old …
0
Angular Fundamentals
LVL 12
Angular Fundamentals

Learn the fundamentals of Angular 2, a JavaScript framework for developing dynamic single page applications.

Hello, (I'm using delphi 7 and paradox 9) , i'm coping data from table paradox to text file and i m using Timer (interval=30 minute) ,this table is updated every 30 minutes by another user which causes sometimes a blockage to the table paradox and if i close the application the blockage will be removed any solutions please .
0
I have used TDBGrid and its related components which helps to populate data in Dbgrid. I have selected multiple (Three) row data record form Dbgrid and trying to populate these selected record on Quick report with separate pages along with respectively title.  I tried to achieve this functionality but unable to do same as my requirement. Please give me any suggestion or   solution to achieving all DBgrid selected data to populate with separate pages along with title on Quick report.

for additional information is, I am using Delphi 7 and  Quick report.

Please let me know in case of any query.

Regards
Manoj Yadav
0
Hello Community,

I'm absolutely new on programming and I want to learn Delphi as my main and solid first choice.
Searching on Google I did not find any interesting resource about how can I start programming on Delphi (or not just with updated content). I want to know about learning sites, learning video courses, ebooks and all of them completely easy to follow and readable.

Please, I hope that someone can help me with my request.
Also, Are there any free version of Delphi to start programming with?. And the result of the created apps with this IDE can be used for business?.

Regards,
0
Unsure what to ask :), but Record data being passed from script to plugin is incorrect

When the label1.caption is supposed to show MyInt instead is shows "71850800" no matter what

Script:
uses sysutils, classes;

type
  TMainSet = Record
    MyInt : Integer;
  end;
  PMainSet = ^TMainSet;

var
  MainSet : PMainSet;

function StrToBool(s:string):boolean;
begin
  if s = 'True' then result:= true else result:= false;
end;

function PluginProc(Code: Cardinal; p1, p2, p3: WideString): WideString; stdcall;
begin
  case code of
    0: result:= script.path;
  end;  
end;

procedure StartPlugins;
begin
  Script.StartPlugin(script.path+'Project1.dll', @MainSet, false{ìîäàëüíî});
end;

procedure This();
var
  ii:integer;
begin
  New(MainSet);
  while delay(2000) do begin
    ii := Random(9999);
    print(ii);
    MainSet^.MyInt := ii;
  end;
end;

begin
  Script.MainProc(@StartPlugins);
  script.newthread(@This);
  Delay(-1);
end.

Open in new window


Plugin:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;

const
  WM_PluginShow = WM_USER + 5402;

type
  Tplugin = class(TForm)
    Timer1: TTimer;
    Label1: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    procedure ShowPugin(var Msg: TMessage); message 

Open in new window

0
I created a TextEditor in C#, Now i want to load a file in the text editor through delphi so i used  shell execute function to achieve this but When i execute this it is opening the text editor without opening the file. My code is,
ShellExecute(0, 'open', PChar('C:\Users\Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe'),PChar('C:\Users\Desktop\215_1.rtf') , nil, SW_SHOWNORMAL);
and also when i try to load a file in Notepad (by changing the path), it is opening the file but not in my text editor  
Whats wrong in it?
0
I want to execute a external application eg. anotherapp.exe or start.bat. After starting that application I want to check it's resource usage every x amount of seconds.
  1. Execute a app
  2. Retrieve it's resource usage every x amount of seconds

I mainly want to use this to execute x amount of .bat files so using the app caption to get the resource usage is not really an option.
0
In Delphi 10.2 Tokyo:

I created a package called TestFrameCompPkg that has a frame TTFrameComp as a component. The package build and install work as expected.

My problem occurs at design time with the ShowEdit and ShowLabel properties. When I place the component on the form, the property changes don't Hide and Show the ToolBar components in the IDE. But each does function normally at run time.

How do I get the show/hide properties to function at design time?


Code Example is below:

FrameComp.dfm
object TFramComp: TTFramComp
  Left = 0
  Top = 0
  Width = 800
  Height = 291
  TabOrder = 0
  object ToolBar1: TToolBar
    Left = 0
    Top = 0
    Width = 800
    Height = 29
    Caption = 'ToolBar1'
    TabOrder = 0
    ExplicitLeft = 192
    ExplicitTop = 48
    ExplicitWidth = 150
    object Edit1: TEdit
      Left = 0
      Top = 0
      Width = 121
      Height = 22
      TabOrder = 0
      Text = 'Edit1'
    end
    object Label1: TLabel
      Left = 121
      Top = 0
      Width = 31
      Height = 22
      Caption = 'Label1'
    end
  end
end

Open in new window


FrameComp.dfm
unit FrameComp;
interface
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
  Vcl.ComCtrls, Vcl.ToolWin;
type
  TTFramComp = class(TFrame)
    ToolBar1: TToolBar;
    Edit1: TEdit;
    Label1: TLabel;
  private
    function GetShowEdit: boolean;
    

Open in new window

0
I am creating an HTML message in Delphi with Indy and IdMessage.  I am attaching a company logo and it is referenced in the email to put the Logo in the correct place.  

All this works, except the attached logo shows up also as an Attachment.  Is there a way to do this and not have a visible attachment?
0
I need to use various fonts for various parts of text in TRichEdit, Delphi Tokyo. For part of the text I need 'Times New Roman' and for the other 'Symbol'. So far does not work what I tried. Either font is set the samo for the whole text or my selected character does not show up.
0
Python 3 Fundamentals
LVL 12
Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

please help me to translate this memory loader to delphi

#include "stdafx.h"
#include <Windows.h>

DWORD GetSectionProtection(DWORD sc)
{
    DWORD dwResult=0;
    if (sc & IMAGE_SCN_MEM_NOT_CACHED)
        dwResult |= PAGE_NOCACHE;

    if (sc & IMAGE_SCN_MEM_EXECUTE)
    {
        if (sc & IMAGE_SCN_MEM_READ)
        {
            if (sc & IMAGE_SCN_MEM_WRITE)
                dwResult |= PAGE_EXECUTE_READWRITE;
            else
                dwResult |= PAGE_EXECUTE_READ;
        }
        else 
        {
            if (sc & IMAGE_SCN_MEM_WRITE)
                dwResult |= PAGE_EXECUTE_WRITECOPY;
            else
                dwResult |= PAGE_EXECUTE;
        }
    }
    else
    {
        if (sc & IMAGE_SCN_MEM_READ)
        {
            if (sc & IMAGE_SCN_MEM_WRITE)
                dwResult|=PAGE_READWRITE;
            else
                dwResult|=PAGE_READONLY;
        }
        else 
        {
            if (sc & IMAGE_SCN_MEM_WRITE)
                dwResult|=PAGE_WRITECOPY;
            else
                dwResult|=PAGE_NOACCESS;
        }
    }

    return dwResult;
}


inline BOOL IsImportByOrdinal(DWORD ImportDescriptor)
{
    return (ImportDescriptor & IMAGE_ORDINAL_FLAG32)!=0;
}

#ifndef MIN
#define MIN(a,b) ((a)<(b)?(a):(b))
#endif

//typedef BOOL (WINAPI *pointMAIN)(int , char*);

typedef BOOL (WINAPI *pointWINMAIN)(HINSTANCE, HINSTANCE, LPSTR, int);


HMODULE MemLoadExe(PBYTE data)
{
    IMAGE_FILE_HEADER        *pFileHeader        = NULL;
 

Open in new window

0
I have a horrible problem with Delphi XE7.
The Hard Disk on my Desktop PC crashed and I had to reinstall Delphi XE7.
Although my Laptop and Desktop have identical structures for all the components and .pas files, I can't compile my Apps on the Desktop in the IDE.
The Laptop compiles like clockwork, but on my Desktop I get continuous "Out of Memory" exceptions, and then the IDE aborts.
I have tried to use IdeFixpack, and that made it even worse. I also tried Madshi's MadCollection with the same result.
I have spent 3 Days on this, without success. Has anybody an idea, what the problem could be?
0
I wanna make the mobile game called '2248' on PC and I'm almost done, im just having a problem with the Accept parameter of the Dragover event. The problem is that I want the program to allow the dragging only the panel which's caption is identical, or if I have already dragged a few panels before then also allow the drag if  the sum of the panels caption dragged before equals to the one im trying to drag to. And also, I dont want the panels to be able to dragged into panels that are not their 'close-neighbours', so only allowing to drag to the panels next to it.
Here is a picture of how It actually looks like, if u dont know the game:https://m.crazygames.com/game/2248
procedure TForm1.balklikk(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=MBleft then begin
TPanel(sender).BeginDrag(True);
kiindulo:=strtoint(TPanel(sender).caption);
oszeg:=strtoint(TPanel(sender).caption);
end;
end;

procedure TForm1.over(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept :=(Source is Tpanel) and ((Tpanel(sender).caption=Tpanel(source).caption) or (oszeg=strtoint(Tpanel(Sender).caption)));
Tpanel(source).Tag:=1;
if (Source is Tpanel)
  and (Sender is Tpanel)
    and (Source <> Sender)
      and (Tpanel(Sender).Tag=0)
        and(Accept=true)
          and (State = dsDragEnter) then begin
z:=z+1; T2[z]:=Tpanel(Sender); Tpanel(Sender).Tag:=1; oszeg:=oszeg+strtoint(Tpanel(Sender).caption);
end;
end;

Open in new window

on the 'balklikk' event of the panel it just checks if it was a left click, if yes then the dragging begins. Also i have declared here a variable that later on in the over event counts the sum of the previously dragged panels captions. If the initial caption is= with the one we dragged to(source.caption=sender.caption) then it will go to a for cicle in which i store the dragged panels and also i increase the sum(oszeg) with the (sender), so next time something gets dragged, it also gets analyized whether the sum is = or not.
0
Hi. I'm working in Delphi xE7.  I recently changed computers.  I installed the same delphi on the new pc and when I tried to run a certain part of my project where I use a Timage on a form I got an exception EInvalidGraphic with message "Unknown picture file extension (.png)."  Mind you this program was working on the previous pc.  Is there something that I'm missing perhaps when I installed on the new pc?  Any ideas or suggestions of what I could look for would be greatly appreciated.  Thanks in advance.
0
Hi !
Are it possible to rotate a video using Dspack ?
Have downloded JongovEdgeDetectFilter but I can´t get it to work !
Ilkka
0
Hello,i wish that you are fine
My problem is that i want to send a text file from my computer to another one using Delphi 7 how can i do this please
thanks.
0

Delphi

59K

Solutions

17K

Contributors

Delphi is the most powerful Object Pascal IDE and component library for cross-platform Native App Development with flexible Cloud services and broad IoT connectivity. It provides powerful VCL controls for Windows 10 and enables FMX development for Windows, Mac and Mobile. Delphi is your choice for ultrafast Enterprise Strong Development™. Look for increased memory for large projects, extended multi-monitor support, improved Object Inspector and much more. Delphi is 5x faster for development and deployment across multiple desktop, mobile, cloud and database platforms including 32-bit and 64-bit Windows 10.